我有一个csv导出文件,我不能事先更改,我试图用Python(Pandas)读取它,但我通常得到的df与“未命名”列和“NA”,而不是所有的值。
csv文件的列如下所示:列Recipient 1
和Recipient 2
完全为空。
用pd.read_csv(f, sep=';', decimal=',', encoding='cp1252')
阅读它,得到:
N Unnamed: 1 Unnamed: 2 ... Unnamed: 5 Unnamed: 6 Unnamed: 7
0 NaN NaN NaN ... NaN NaN NaN
1 NaN NaN NaN ... NaN NaN NaN
2 NaN NaN NaN ... NaN NaN NaN
3 NaN NaN NaN ... NaN NaN NaN
4 NaN NaN NaN ... NaN NaN NaN
(使用的编码和分隔符正确)。我已确定列Recipient 1
和Recipient 2
会导致问题。因为:
1.如果我把它们去掉,它就起作用了;
1.如果我用值填充它们。它就工作了
1.如果我将它们保留为空,但手动重命名为其他名称(例如,Recipient
和Recipientq
),则可以正常工作usecolumns
方法不起作用,因为它不能识别错误文件中的列名。
问题是,我应该做些什么来确保正确加载文件呢?我不需要保留这些列,但我需要以某种方式编辑它们以正确加载。
编辑:header=none, skiprows=1
将产生类似的:
0 1 2 3 4 5 6 7
0 NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN
1条答案
按热度按时间r1zhe5dt1#
在此找到答案:https://stackoverflow.com/a/64052349/5874325
原来是NULL字符问题。根据答案修改函数: