问题描述
我正在尝试从 CSV 文件创建命名元组列表。错误出现在第 12 行(以movie_list 开头的那个)。它说没有足够的值来解包。我已经使用这种确切的方法完成了多个其他项目,并且从来没有错误。请不要建议替代方法,因为这是针对学校项目的,必须以这种方式完成。
Movie = namedtuple("Movie","index,title,release,user_rating,Metascore,imdb_Votes,plot,genre,runtime,revenue,actors,director")
def read_data (file,encoding='utf-8'):
with open(file):
reader = csv.reader(file)
next(reader)
movie_list =[Movie(int(index),int(release),float(user_rating),float(Metascore),int(imdb_Votes),int(runtime),float(revenue),director)
for index,director in reader]
return movie_list
解决方法
如果文件是文件路径之类的字符串,则读取器一次读取这个字符串 1 个字符,而不是实际文件。
with open(file,'r') as fh:
reader = csv.read(fh)