簡體   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