繁体   English   中英

熊猫:追加现有的CSV文件,多余的列

[英]Pandas: Append existing CSV file, extra columns

我正在尝试创建csv文件,保存它,以后再阅读,然后将( concat )数据添加到底部-并多次执行此过程。 例如,我的设置是:

import pandas as pd

df3 = pd.DataFrame(columns=('col1','col2'))
df3.to_csv('example.csv', sep=',')
print(df3)

它将生成一个空白的csv文件,仅包含看起来像这样的列标题(这是我希望数据显示的样子):

Empty DataFrame
Columns: [col1, col2]
Index: []

然后,我生成一个具有行信息(索引)的新数据.concat() ,打开旧的( df3 )csv文件, .concat()该文件打开.concat()

df1 = pd.DataFrame({'col1':list("abc"),'col2':list("def")})
df3 = pd.read_csv('example.csv', sep=',')
print(df3)
print(df1)
df3 = pd.concat([df3, df1], ignore_index=True)
print(df3)
df3.to_csv('example.csv', sep=',')

但是当我阅读example.csv文件( df3 )时,它实际上会生成一个如下所示的数据框:

Empty DataFrame
Columns: [Unnamed: 0, col1, col2]
Index: []

现在有一个额外的列。

我的实际代码限制了.read_csv / .to_csv并引发错误,因为我尝试读取/写入的内容不是我发送的(我不认为)。

我试过将ignore_index=True添加到该方法,但这没有做到。 我也尝试过准确地读回我输入的内容,但它仍会生成“ Unnamed列。

有一些信息, 在此列中的坏数据-而不是点相当。

显然有一个简单的答案,我只是想不通。

当您将csv文件读入df3 ,可以使用

df3 = pd.read_csv('example.csv', sep=',', index_col=0)

这样,您将没有未命名的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM