gpt4 book ai didi

python - Pandas to_csv 调用在逗号前加一个逗号

转载 作者:太空狗 更新时间:2023-10-29 17:03:47 25 4
gpt4 key购买 nike

我有一个数据文件 apples.csv,其标题如下:

"id","str1","str2","str3","num1","num2"

我用 pandas 将它读入数据框:

apples = pd.read_csv('apples.csv',delimiter=",",sep=r"\s+")

然后我对它做了一些事情,但忽略了它(我已经把它全部注释掉了,但我的整体问题仍然存在,所以说的事情在这里无关紧要)。

然后我把它保存出来:

apples.to_csv('bananas.csv',columns=["id","str1","str2","str3","num1","num2"])

现在,查看 bananas.csv,它的标题是:

,id,str1,str2,str3,num1,num2

不再有引号(我并不真正关心,因为它不会影响文件中的任何内容),然后是前导逗号。随后的行现在有一个额外的列,因此它节省了 7 列。但如果我这样做:

print(len(apples.columns))

在保存之前,它立即显示 6 列...

我通常使用 Java/Perl/R,对 Python 尤其是 Pandas 的经验较少,所以我不确定这是否是“是的,它就是那样做”或者问题是什么 - 但我花了很长时间试图解决这个问题,但无法通过搜索找到它。

我怎样才能让它不做逗号前缀,也许同样重要 - 为什么要这样做?

最佳答案

设置 index=False(默认为 True,因此您会看到此输出)以便它不会将索引值保存到您的 csv,请参阅 docs

所以这样:

df = pd.DataFrame({'a':np.arange(5), 'b':np.arange(5)})
df.to_csv(r'c:\data\t.csv')

结果

,a,b
0,0,0
1,1,1
2,2,2
3,3,3
4,4,4

同时:

df.to_csv(r'c:\data\t.csv', index=False)

结果:

a,b
0,0
1,1
2,2
3,3
4,4

针对你可能有一些索引值要保存的情况

关于python - Pandas to_csv 调用在逗号前加一个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30605909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com