web-dev-qa-db-ger.com

Kombination zweier CSV-Dateien mit Pandas

Kann jemand für mich nachsehen, was mit meinem Code falsch ist. Ich möchte, dass zwei CSV-Dateien in eine CSV-Datei zusammengeführt werden.

Ich habe versucht zu googeln und kann es immer noch nicht zusammenführen, es erstellt eine neue Datei, zeigt aber nichts darin.https://stackoverflow.com/a/16266144/7624469

a.csv

ID    User
A1    Fi
A2    Ki

b.csv

ID    User
A4    Fsdi
A5    Kisd

Die Ausgabe, die ich möchte, wird so aussehen 

kombiniert.csv

ID    User
A1    Fi
A2    Ki
A4    Fsdi
A5    Kisd

test.py

import pandas, sys
import pandas as pd


a = pd.read_csv("C:/JIRA Excel File/a.csv")
b = pd.read_csv("C:/JIRA Excel File/b.csv")

merged = a.merge(b, on='ID')

merged.to_csv('C:/JIRA Excel File/result.csv', index=False)
5
Fiqri Mfbw

df.append verwenden:

out = df1.append(df2)
print(out)

   ID  User
0  A1    Fi
1  A2    Ki
0  A4  Fsdi
1  A5  Kisd

with open('C:/JIRA Excel File/result.csv', 'w', encoding='utf-8') as f:
    out.to_csv(f, index=False)
5
coldspeed

Es ist besser, pd.concat hier zu verwenden, um diese Frames zu kombinieren, nicht merge:

merged = pd.concat([a,b])

Spielzeugbeispiel mit Ihren Daten:

a = pd.DataFrame([['Fi'],['Ki']],columns=['User'], index=['A1','A2'],) #'ID')
b = pd.DataFrame([['Fi'],['Ki']],columns=['User'], index=['A4','A5'],) #'ID')
pd.concat([a,b])

Wird ausgegeben:

    User
A1  Fi
A2  Ki
A4  Fi
A5  Ki
5
Grigory

Kümmere dich nicht um Python, benutze einfach bash mit grep:

cat a.csv > combined.csv
tail -n +2 b.csv >> combined.csv
1
Eamonn Kenny