修复数据集中的数据类型

问题描述

我使用 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'])

第二行需要更改,因为 imdbimdb_data 中的一个元素,也许您的意思是第二个列表而不是 imdb_data

,

我发现我错误地使用了 Jupyter Notebook,这导致了错误。谢谢你帮助我。