我需要从文件中取出每一行并从中生成一个字典 这是我的代码:
def recnik(line):
knjiga1 = {}
info = line.split("|")
knjiga1["autori"] = info[0]
knjiga1["naslov"] = info[1]
knjiga1["godina"] = info[2]
knjiga1["isbn"] = info[3]
knjiga1["zanr"] = info[4]
knjiga1["cena"] = info[5]
knjiga1["kolicina"] = info[6]
knjiga1["stanje"] = info[7]
print(knjiga1)
a = open("../data/sveKnjige.txt", "r")
for line in a:
recnik(line)
a.close()
我的文件如下:
Viliam Sekspir|Hamlet|1600|3214569879878|drama|6500|60|true|
Dragoslav Mihajlovic|Kad su cvetale tikve|1968|3332221115554|drama|3000|20|true|
Fjodor Dostojevski|Zlocin i kazna|1866|9788897572657|roman|4500|50|true|
Dostojevski|Ana|1995|3214569874563|triler|321|22|true|
此代码有效,但也会显示此错误'列表索引超出范围'我找不到问题。请帮忙。
答案 0 :(得分:0)
此代码适用于我的机器。您确定您的输入文件实际上是您在此处发布的内容吗?
答案 1 :(得分:0)
也为我工作。 我试图挑起错误,我不得不添加一个只有“|”的最后一行输入文件字符使其失败。
也许你有一些字符不正确的行(在输入文件中)。尝试在每个循环中打印信息的内容。