我尝试使用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?
答案 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'。