[英]Encoding error when reading csv file containing pandas dataframe
[英]pandas reading csv file encoding error
我有一个iso8859-9编码的csv文件,并尝试将其读入数据帧。 这是我得到的代码和错误。
iller = pd.read_csv('/Users/me/Documents/Works/map/dist.csv' ,sep=';',encoding='iso-8859-9')
iller.head()
错误是
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 250: ordinal not in range(128)
并且下面的代码可以正常工作。
import codecs
myfile = codecs.open('/Users/me/Documents/Works/map/dist.csv', "r",encoding='iso-8859-9')
for a in myfile:
print a
我的问题是,为什么熊猫不能读取正确编码的文件? 有什么办法让它读起来?
当然看不到数据可能有什么问题,但是如果您可以读取数据而不会出现codecs
问题,那么可能的想法是将文件写成UTF编码(?)。
import codecs
filename = '/Users/me/Documents/Works/map/dist.csv'
target_filename = '/Users/me/Documents/Works/map/dist-utf-8.csv'
myfile = codecs.open(filename, "r",encoding='iso-8859-9')
f_contents = myfile.read()
要么
import codecs
with codecs.open(filename, 'r', encoding='iso-8859-9') as fh:
f_contents = fh.read()
# write out in UTF-8
with codecs.open(target_filename, 'w', encoding = 'utf-8') as fh:
fh.write(f_contents)
我希望这有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.