app*_*ver 2 python csv dataframe pandas
我想将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)
Run Code Online (Sandbox Code Playgroud)
生成如下所示的CSV文件:
one, two, three
1, 2, None
1, None, 2
Run Code Online (Sandbox Code Playgroud)
您必须在保存到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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6084 次 |
| 最近记录: |