Pandas:附加现有的CSV文件,额外的列

时间:2018-04-08 17:06:02

标签: python python-3.x pandas csv

我尝试创建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: []

然后,我生成一个包含行信息(索引)的新数据框,打开旧的(df3)csv文件,并将.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并且它会引发错误,因为我尝试读取/写入的内容并不是我发送的内容(我不是&# 39; t think)。

我尝试在方法中添加ignore_index=True,但是并没有这样做。我还试着准确回读我的内容,但它仍会生成Unnamed列。

列中的错误数据有一些信息here - 不是很重要。

显然有一个简单的答案,我无法弄清楚。

1 个答案:

答案 0 :(得分:0)

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

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

然后你将没有未命名的专栏。