'dict'对象没有属性'decode'

时间:2017-11-21 10:53:34

标签: python list dictionary

我正在研究与Python书籍争论的例子。

尝试将CS​​V文件中的数据读入名为header_rdr的dictReader对象。

header_rdr = DictReader(open('/Users/tcssig/Downloads/data-wrangling-master/data/unicef/mn_headers.csv', 'r'))

当我尝试使用列表理解来读取列表中的所有dict值时,使用

header_rows = [h.decode('utf-32') for h in header_rdr]

我收到的错误消息是:'dict' object has no attribute 'decode'.

在传入字符串之前,如何在不解码字符串的情况下继续。

此外,在没有解码元素的情况下,我得到的错误为:

UnicodeDecodeError:'ascii' codec can't decode byte 0xe2 in position 2807: ordinal not in range(128)

1 个答案:

答案 0 :(得分:0)

在迭代中,csv.DictReader产生dict s - 因此得名 每个dict代表样式{<column_header>: <column_value>}中的CSV记录。 要将文件的竞争解码为UTF-32,您可以将编码指定为open的参数。

header_rdr = DictReader(open(…, 'r', encoding='utf-32'))