使用熊猫写入csv时如何保留格式?

时间:2018-11-20 11:24:46

标签: python pandas

我有一个像这样的文本文件:

id,name,sex,
1,Sam,M,
2,Ann,F,
3,Peter,
4,Ben,M,

然后,我读取了文件:     df = pd.read_csv('data.csv')

然后,我将其写入另一个文件:     df.to_csv('new_data.csv',index = False)

然后,我得到

id,name,sex,Unnamed: 3
1,Sam,M,
2,Ann,F,
3,Peter,,
4,Ben,M,

您看到第四行有两个逗号而不是一个逗号。

使用pd.to_csv时如何保留格式?

2 个答案:

答案 0 :(得分:1)

pandas 保留格式-3d行没有性别,因此csv应该有一个空列-这就是为什么要逗号的原因,因为您要分隔一个空列。

您的原始文本文件不是有效的csv文件

您想要做的是其他事情,它不是编写有效的csv文件-您将必须自己做,我不知道创建格式的任何现有方法。

答案 1 :(得分:1)

代码中的问题是文件中的sex列后面有一个逗号。因此read_csv认为这是一个新列,没有名称和数据。

df= pd.read_csv('data.csv')
df

id  name    sex Unnamed: 3
0   1   Sam M   NaN
1   2   Ann F   NaN
2   3   Peter   NaN NaN
3   4   Ben M   NaN

因此,您还有一个未命名列。因此,当您编写to_csv时,它在第三行中添加了两个空值,并因此添加了两个,

尝试:

df = pd.read_csv('data.csv', use_cols = ['id', 'name', 'sex'])
df.to_csv('new_data.csv', index = False)
相关问题