web-dev-qa-db-fra.com

Combinaison de deux fichiers CSV à l'aide de pandas

Quelqu'un peut-il vérifier pour moi ce qui ne va pas avec mon code? Je veux fusionner deux fichiers csv en un fichier csv.

J'ai essayé de google et je ne peux toujours pas le fusionner, cela créera un nouveau fichier mais ne montrera rien à l'intérieur.https://stackoverflow.com/a/16266144/7624469

a.csv

ID    User
A1    Fi
A2    Ki

b.csv

ID    User
A4    Fsdi
A5    Kisd

La sortie que je veux ressemblera à ceci 

combiné.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

Utiliser df.append:

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

Il est préférable d'utiliser pd.concat ici pour combiner ces cadres, et non pas merge:

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

Exemple de jouet avec vos données:

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])

Est-ce que la sortie:

    User
A1  Fi
A2  Ki
A4  Fi
A5  Ki
5
Grigory

Ne vous embêtez pas avec python, utilisez simplement bash avec grep:

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