问题描述
我使用 unicodecsv.DictReader 导入了一个文件,但它返回了一个文件列表。
import unicodecsv
def read_csv(filename):
with open(filename,'rb') as f:
reader = unicodecsv.DictReader(f)
return list(reader)
imdb_data = read_csv('tmdb-movies.csv')
imdb_data [0]
之后我继续创建函数来更改数据类型。但是,我不断收到“类型错误:列表索引必须是整数或切片,而不是 str”的错误消息
下面是我尝试的代码。非常感谢任何帮助。
for imdb in imdb_data:
imdb_data['popularity'] = parse_maybe_float(imdb['popularity'])
解决方法
您正在尝试访问索引为“流行度”的列表,这不应该起作用(索引应该是一个数字)。 它看起来很像一个错字:
for imdb in imdb_data:
imdb_data['popularity'] = parse_maybe_float(imdb['popularity'])
第二行需要更改,因为 imdb
是 imdb_data
中的一个元素,也许您的意思是第二个列表而不是 imdb_data
?
我发现我错误地使用了 Jupyter Notebook,这导致了错误。谢谢你帮助我。