python - Pandas 数据帧到 CSV

标签 python csv pandas dataframe

我想将 pandas 数据帧附加到 CSV 文件的末尾。棘手的部分是当我追加行时,有时列可能不同。我想要这样的代码

a = pd.DataFrame([[1, 2]], columns= ["one", "two"])
with open("learn.csv", "w") as f:
    a.to_csv(f, header=True)

a = pd.DataFrame([[1, 2]], columns= ["one", "three"])
with open("learn.csv", "a") as f:
    a.to_csv(f)

生成如下所示的 CSV 文件:

one, two, three
1, 2, None
1, None, 2

最佳答案

您必须在保存到 csv 之前连接您的数据框,因为您必须知道所有结果列才能正确保存数据,而这对于每个数据框来说都是未知的。以下将做:

>>> from StringIO import StringIO
>>> buf = StringIO()
>>> a = pd.DataFrame([[1, 2]], columns= ["one", "two"])
>>> b = pd.DataFrame([[1, 2]], columns= ["one", "three"])
>>> pd.concat([a, b]).to_csv(buf, index=None, na_rep='None')
>>> print buf.getvalue()
one,three,two
1,None,2.0
1,2.0,None

关于python - Pandas 数据帧到 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982165/

相关文章:

python - 如何将 tablib 数据集保存为 csv 文件?

python Pandas : Is There a Faster Way to Split and Recombine a DataFrame based on criteria?

python - 我怎样才能获得每月 Pandas 的 top5 max() 值

python - 稀疏矩阵长度不明确

python - 在openCV中检测圆

python - 带单引号的字符串提取

python - 将 HTML 转换为 CSV

python - 如何在 Python 中 .write() 两个项目,一个零和一个迭代器?

javascript - 如何在 Chrome 中使用带有#(数字符号)的 href 下载 CSV?

python - 使用 python pandas 找到最高的增长?