Python用希伯来语标题读取csv

时间:2017-11-20 14:03:15

标签: python pandas csv utf-8 hebrew

我尝试使用dataset=pandas.read_csv('filename')来构建框架。但不知怎的,我不能这样做,因为其中一个列标题是用希伯来语写的。

我查了一下,DataFrame可能会将希伯来语单词作为列标题。  dataset.columns = ['שלום', 'b','c','d','e']但我想从包含希伯来词的csv中导入数据本身,我不能。

我收到此错误UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf9 in position 0: invalid start byte

如何使用列标题将数据集导入datadrame?

4 个答案:

答案 0 :(得分:2)

我用过:

dataset = pd.read_csv('file_name.csv', encoding = "ISO-8859-8")

有关编码,请参见https://docs.python.org/3/library/codecs.html#standard-encodings

答案 1 :(得分:1)

您的文件不在utf-8编码中。

最有可能是使用Hebrew codepage的ASCII。

希伯来语代码页中的

0xf9与您在标题示例中显示的第一个(最后一个)字符相匹配。

您必须将encoding:参数与the correct codepage一起使用。

答案 2 :(得分:0)

关于如何检查编码,有一个简单的技巧here可能有用:

  

您可以使用记事本打开文件,然后转到“文件”->“另存为”。在“保存”按钮旁边,将有一个编码下拉菜单,并且将在此处选择文件的当前编码。

答案 3 :(得分:0)

这是一个对我有用的答案:

 import pandas as pd

 f = open('your_file_path', encoding='iso8859-8',errors='replace')
 data = pd.read_csv(f, sep='|')

您的文档的 sep 可能不同。这里主要是先用iso8859-8编码打开,然后把这个对象放入'read csv with pandas'。

相关问题