假设我有下面的csv文件:
Column1;Column2
AB; Test
其中包含一个NUL字节字符:
我想用Pandas把它读入,操作它,然后再导出。我想去掉NUL字节字符,我的代码如下:
import pandas as pd
df=pd.read_csv(r'C:\folder\test.csv', sep=";", encoding="utf-8")
df=df.replace('\x00','', regex=True)
df.to_csv(r'C:\folder\testoutput.csv', sep=";", index=False, encoding="utf-8")
我希望只删除NUL字节字符,但是,删除了更多的字符:
所以它删除了整个“细胞”,也删除了“测试”。但我不想这样。
为什么,我的错误在哪里?我怎么能只删除NUL字节字符?
1条答案
按热度按时间hvvq6cgz1#
问题不在于
replace
,而在于read_csv
将NULL字符作为行终止符处理。在将NULL传递给
read_csv
之前,可以手动删除它:输出:
或者,如果您只想删除没有Pandas的NULL: