Python 熊猫饲养';空';和'';加载CSV时

Python 熊猫饲养';空';和'';加载CSV时,python,pandas,isnull,Python,Pandas,Isnull,我有一个奇怪的CSV,它的值是“null”,还有一个空单元格作为值 因此,我的行如下所示: null,0,0,0,1,,,,0,0,0,null 除了读取和重写文件,我什么也不做: f = pd.read_csv(input_file,sep=',', quotechar='"', engine='python', converters={i: str for i in range(0, 155)}) f.to_csv(output_file, sep=',', escapechar=' ',

我有一个奇怪的CSV,它的值是“null”,还有一个空单元格作为值

因此,我的行如下所示:

null,0,0,0,1,,,,0,0,0,null
除了读取和重写文件,我什么也不做:

f = pd.read_csv(input_file,sep=',', quotechar='"', engine='python', converters={i: str for i in range(0, 155)})
f.to_csv(output_file, sep=',', escapechar=' ', quotechar='"', quoting=csv.QUOTE_MINIMAL, index=False)
从技术上讲,上面是“重命名”一个文件,但这是为了证明我得到的整个文件的值是相同的,稍后我将修剪某些列(我已经这样做了,但发现数据是错误的)

那么,在不读取每一行/每一列并生成一个检查每个单元格的函数的情况下,如何保留“null”和“”呢

这可能吗


我尝试了na_rep=“null”,但随后所有“”都被转换为“null”,或者如果我删除它们,那么我就失去了“null”值

要完全忽略对
NaN
值的处理,可以将
na_filter=False
参数传递给
read_csv
方法:

f = (pd.read_csv(input_file,sep=',',
                 quotechar='"',
                 engine='python',
                 converters={i: str for i in range(0, 155)},
                 na_filter=False))
或者,如果您需要更多地控制如何处理值,您可以排除默认值,并传入自己的
na_值列表
。例如:

f = (pd.read_csv(input_file,sep=',',
                 quotechar='"',
                 engine='python',
                 converters={i: str for i in range(0, 155)},
                 na_values=['nan', 'NaN'],
                 keep_default_na=False))
将自动强制为
NaN
的默认值为

default_na_values = ['', '#N/A', '#N/A N/A', '#NA', '-1.#IND', '-1.#QNAN', '-NaN', '-nan',
                     '1.#IND', '1.#QNAN', 'N/A', 'NA', 'NULL', 'NaN', 'n/a', 'nan', 'null']

鞋子的预期效果谢谢克里斯!我不知道na_过滤器,它实际上起到了作用!