[英]how to skip / ignore skip null byte in csv file using pd.read_csv?
我有一个.csv文件,其中有几百行这样的行/列(小示例,请参见图像我无法复制/粘贴空字节,必须手动键入它们):
9142,16.04000000,14.65000000
<0x00><0x00><0x00>
9143,16.19000000,14.65000000
少数行包含NULL字节(“ <0x00>”)的行在尝试使用pandas pd.read_csv读取csv时给我带来麻烦。
当我运行命令时:
pd.read_csv(fname, header=None, na_values='-32768', names=binnams, engine='python')
我收到以下错误:
pandas.errors.ParserError: ("NULL byte detected. This byte cannot be processed in Python's native csv library at the moment, so please pass in engine='c' instead", 'occurred at index 16')
当我切换引擎='c'时,我得到:
TypeError: ('cannot unpack non-iterable NoneType object', 'occurred at index 16')
有没有办法使用pd.read_csv完全忽略这些行?
我认为一种解决方法可能是打开文件并循环通过它们,并删除甚至可以读取包含<0x00>的任何行?
任何想法/建议绝对值得赞赏。
编辑-尝试逐行读取文件,以查看是否可以删除这些行,但不确定如何实际捕获空字节(使用“ <0x00>” obv无效:D)
链接到示例文件: https : //drive.google.com/open?id = 1uEjMv0Be9Hu_AqXRzqB3enrWilzCTBvc
尝试将csv文件另存为UTF-16,然后尝试运行代码:
pd.read_csv(fname, header=None, na_values='-32768', names=binnams, engine='python')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.