Python 从文本文件填充词典
我试图从一个文本文件中填充一个字典,该文件有两列作者和标题,两列之间用逗号分隔。我的代码在下面Python 从文本文件填充词典,python,dictionary,file-handling,Python,Dictionary,File Handling,我试图从一个文本文件中填充一个字典,该文件有两列作者和标题,两列之间用逗号分隔。我的代码在下面 f = open('books.txt', 'r') books = {} for l in f: author,title = l.strip().split() if author in books: books[author].append(title) else: books[author]=[title] f.clo
f = open('books.txt', 'r')
books = {}
for l in f:
author,title = l.strip().split()
if author in books:
books[author].append(title)
else:
books[author]=[title]
f.close()
我在第1行得到错误“太多的变量需要解包”。有什么建议吗?谢谢 有几件事,您可能应该使用
和open
的方式来读取python中的文件(请参阅)。它会在块的末尾自动关闭
其次,在空字符串上拆分。它应该是.split(',)
以逗号分隔
最后,我会考虑使用这个来读取CSV文件。如果书名或作者中有逗号,这尤其有用
代码的工作示例:
有几件事,您可能应该使用带有open的
方式来读取python中的文件(请参阅)。它会在块的末尾自动关闭
其次,在空字符串上拆分。它应该是.split(',)
以逗号分隔
最后,我会考虑使用这个来读取CSV文件。如果书名或作者中有逗号,这尤其有用
代码的工作示例:
我不确定您的行数,但有问题的行应该是作者,title=l.strip().split()
,因为当赋值两边的变量数不相等时,会引发“太多变量无法解包”。这是正确的,错误是由空字符串上的拆分引起的。等等,你怎么可能在第1行出错?您的意思是回溯会导致您找到f=open('books.txt','r')
?抱歉,错误在第4行,是.split()中缺少的逗号。谢谢你的帮助!切换到在文件中使用JSON,然后使用JSON library books=JSON.load(file_desc)加载字典我不确定行数,但有问题的行应该是author,title=l.strip().split()
,因为“变量太多,无法解包”当赋值两边的变量数不相等时引发。这是正确的,并且该错误是由在空字符串上拆分引起的。等等,怎么可能在第1行出现错误?您的意思是回溯会导致您找到f=open('books.txt','r')
?抱歉,错误在第4行,是.split()中缺少的逗号。谢谢你的帮助!切换到在文件中使用JSON,然后使用JSON library books=JSON.load(file_desc)加载字典
with open('books.txt', 'r') as book_file:
books = {}
for l in book_file:
author,title = l.strip().split(',')
if author in books:
books[author].append(title)
else:
books[author]=[title]
print books