试图加载CSV文件与希伯来文,但得到乱码

2w3rbyxf  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(86)

我试图加载一个csv文件到我的木星笔记本电脑,我设法加载文件,但一些列的数据持有希伯来文的文本,它加载它作为乱码
我使用的代码如下:

import pandas as pd

cars = pd.read_csv (r'C:\Users\MyName\Folder\number_of_cars.csv',encoding='cp862',sep='|')

我尝试了一些不同的编码,如希伯来语cp424/cp856/cp1255/iso8859_8,但得到错误
UnicodeDecodeError: 'charmap' codec can't decode byte 0x73 **in position 2**: character maps to <undefined>
唯一起作用的编码是cp 862和latin-1(不确定latin-1是否适用于希伯来语),但两者都返回乱码而不是希伯来语文本。
编辑:也尝试了utf-8,并得到了这个错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 309: invalid continuation byte
我不是一个程序员,我对python的经验只是分析数据。

您可以在这里查看数据集:https://data.gov.il/dataset/private-and-commercial-vehicles/resource/053cea08-09bc-40ec-8f7a-156f0677aff3

nue99wik

nue99wik1#

特定的文件(下载版本)是用ANSI 1255编码的,所以你的cp1255应该可以工作。但是!这个文件有3个错误,阻止了正确的代码页解析。例如:在06161062处,在1KD之后。字节0x9F
你可以handle conversion errors in Python
有用的信息可在read_csv documentation中找到。
请参阅处理编码错误的方法列表
下面的小改动在这里起作用。选择您认为最合适的错误处理程序。

import pandas as pd

cars = pd.read_csv (r'hebrew__cars__download.csv',
           encoding='cp1255',
           sep='|',
           encoding_errors='backslashreplace')

# --- read some info
print("Shape: ", cars.shape)

#  Output for download:
#     Shape:  (3781124, 23)

相关问题