【发布时间】:2015-08-16 19:49:04
【问题描述】:
我有一个数据文件 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 的经验较少,所以我不确定这是“是的,它就是这样做的”还是问题出在哪里 - 但我花了很长时间试图弄清楚这一点,但无法通过搜索找到它。
我怎样才能让它不做逗号前置,也许同样重要 - 为什么要这样做?
【问题讨论】: