【发布时间】:2016-08-08 21:35:16
【问题描述】:
我正在尝试读取带有 cp1252 编码的 csv 文件,如下所示:
import io
import csv
csvr = csv.reader(io.open('data.csv', encoding='cp1252'))
for row in csvr:
print row
'data.csv'的相关内容是
Curva IV
Fecha: 27-Jul-2016 16:22:40
Muestra: 1
Tensión Corriente Ig
0.000000e+000 1.154330e-004 -2.984730e-004
...
我得到以下输出
['Curva IV']
['Fecha: 27-Jul-2016 16:22:40']
['Muestra: 1']
Traceback (most recent call last):
File "D:/sandbox/bla.py", line 347, in <module>
mist()
File "D:/sandbox/bla.py", line 343, in mist
for row in csvr:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 5: ordinal not in range(128)
我完全不明白。显然,关键线是带有重音的“o”。似乎 csv.reader 返回的对象的迭代器正在尝试进行转换。在 print 语句之前引发了异常,因此这不是我的终端编码的问题。有什么想法吗?
【问题讨论】:
标签: python python-2.7 csv encoding