我有 2 個檔案需要填充同一個 csv 檔案
為了提供背景關系,目前,我有這個代碼以所需的方式列印 CSV code-1.py
當前現有添加:
array_all = {'Hand': alldata, 'Pose': face_position}
array_all = {k: pd.Series(v) for k, v in array_all.items()}
df = pd.DataFrame(array_all)
df.to_csv('test.csv',
mode='w',
header=True,
index=False)
| 手 | 姿勢 |
|---|---|
| 不 | 座椅靠背 |
| 不 | 座椅靠背 |
現在我有 code-2.py
要添加的列:
df = pd.DataFrame(results)
df.to_csv('test.csv',
mode='a',
header=True,
index=False)
我希望這樣做是在正確的期望輸出中添加一列:
| 手 | 姿勢 | 眼睛 |
|---|---|---|
| 不 | 座椅靠背 | 剩下 |
| 不 | 座椅靠背 | 對 |
但是,目前我得到了這個,
實際輸出:
| 手 | 姿勢 |
|---|---|
| 不 | 座椅靠背 |
| 不 | 座椅靠背 |
| 0 | |
| 對 | |
| 剩下 |
基本上,它附加到 CSV 的第一列此外,可以假設 code-2.py 將在 code-1.py 之后立即運行
感謝您對此的任何想法,謝謝!
uj5u.com熱心網友回復:
您不能在沒有完全加載的情況下將列附加到 csv 檔案(但是,您可以附加行)。使用pd.concat:
pd.concat([pd.read_csv('test.csv'), df], axis=1) \
.to_csv('test.csv', header=True, index=False)
# test.csv before
Hand,Pose
No,Seating Back
No,Seating Back
# test.csv after
Hand,Pose,Eye
No,Seating Back,Left
No,Seating Back,Right
uj5u.com熱心網友回復:
參考@Corralien 的回答
我還面臨一個問題,即每個額外的附加都會記錄在一個新列中,如下所示 https://i.stack.imgur.com/08oTe.png
為了緩解這種情況,我修改了給定的答案并創建了一個額外的 csv 并使用它覆寫了 csv,如下所示:
pd.concat([pd.read_csv('test2.csv'), df], axis=1) \
.to_csv('test.csv', header=True, index=False)
uj5u.com熱心網友回復:
df = (pd.read_csv("test.csv")).assign(Eyes=results)
df.to_csv('test.csv', header=True, index=False)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/363100.html
上一篇:使用分類字串對熊貓資料框進行分組
