0
I am trying to turn a file into dictionary but is giving the following error:
Traceback (Most recent call last): File "C: Users taynan Appdata Local Programs Python Python36-32 Project CRUD Interface.py", line 46, in consultarProfessor(cpfP, arqProfessores) File "C: Users taynan Appdata Local Programs Python Python36-32 Project CRUD Modulodefuncoes.py", line 38, in consultarProfessor key, val = line[:-1]. split() Valueerror: not enough values to unpack (expected 2, got 0)
Can anyone identify where the bug is? Because I don’t know :/
Filing cabinet:
{'Nome': 'd', 'Cpf': '33', 'Departamento': 'a'}
{'Nome': 'f', 'Cpf': '22', 'Departamento': 'g'}
{'Nome': 'a', 'Cpf': '13', 'Departamento': 'b'}
{'Nome': 'x', 'Cpf': '24', 'Departamento': 'd'}
Here is a part of the code, because it is very large:
def consultarProfessor(cpf, arquivoEspecifico):
arquivo = lerArquivo(arquivoEspecifico)
for linha in arquivo:
linha = linha.replace('"',"")
chave, valor = linha[:-1].split()
dicProfessores[chave] = valor
if cpf in dicProfessores.values():
dicProfessor = dicProfessores[cpf]
arquivo.close() #definindo uma variavel para a chave do dicionario de professores
print(dicProfessores)
else:
print("Este professor não é funcionário desta faculdade.")
obs. I’ve tried using dicProfessores = eval(linha[-1])
, but it was making a lot of mistakes.
#Edit: Consegui criar o dicionário, mas ele está saindo todo errado:
def file_to_dict(arquivoEspecifico):
dic = {}
arquivo = lerArquivo(arquivoEspecifico)
for linha in arquivo:
linha = linha.replace('"',"")
valor = linha[:-1].split()
chave = linha[:-1].split()
for v in valor:
v = v.replace(",","")
v = v.replace("{","")
v = v.replace("}","")
v = v.replace(":","")
v = v.replace("'","")
for c in chave:
c = c.replace(",","")
c = c.replace("{","")
c = c.replace("}","")
c = c.replace(":","")
c = c.replace("'","")
dic[c] = v
print(dic)
return dic
Here’s how it’s coming out:
{'Nome': 'g', 'd': 'a', 'Cpf': 'g', '33': 'a', 'Departamento': 'g', 'a': 'a', 'f': 'g', '22': 'g', 'g': 'g'}
Type the teacher’s Cpf: 33 [] Traceback (Most recent call last): File "C: Users taynan Appdata Local Programs Python Python36-32 Project CRUD Interface.py", line 46, in <module> consultarProfessor(cpfP, arqProfessores) File "C: Users taynan Appdata Local Programs Python Python36-32 CRUD Project Modulodefuncoes.py", line 38, in consultarProfessor key, val = print(line[:-1].split()) Typeerror: 'Nonetype' Object is not iterable Ta saying that the list ta did, ta error in the split I think :/
– taynan