如何找到CSV文件中使用Pandas导入时发生错误的位置?

ahy6op9u  于 2023-05-04  发布在  其他
关注(0)|答案(3)|浏览(83)

假设我尝试使用pd.read_csv()导入CSV文件并得到此错误。

'utf-8' codec can't decode byte 0x93 in position 214567: invalid start byte

如何解释错误消息并在CSV文件中查找导致问题的字符?它是第214567个字符吗?如果是,我如何通过记事本或Excel或其他东西找到它?

z9gpfhce

z9gpfhce1#

使用本网站:http://www.alanwood.net/demos/ansi.html
查找ANSI十六进制数等于0x93。在Excel中打开CSV。搜索相应的字符。仍然不知道如何定位字符编号214567 tho...

2cmtqfgy

2cmtqfgy2#

我发现0x93或“通过在Notepad++中这样搜索

\x93

y4ekin9u

y4ekin9u3#

仅使用Python,您可以以二进制模式读取文件,直到(或稍微超过)偏移量214,567并转储数据的末尾。

>>> data = open('input.csv','rb').read(214570)   # Just a large file I had
>>> data[-5:]   # dump the last 5 bytes
b'this\x00'
>>> data[-5:].hex(' ')  # as a hexadecimal dump (the 69 is at offset 214,567)
'74 68 69 73 00'
>>> hex(data[214567])
'0x69'
>>> hex(214567)  # hexadecimal offset
'0x34627'

或者使用hexdump实用程序。一个好的将有一个“后藤抵消”的能力。

你的档案应该在那个位置有个93。

相关问题