web-dev-qa-db-ja.com

pandasを使用して2つのcsvファイルを結合する

誰でも私のコードの何が問題なのかをチェックしてくれますか。 2つのcsvファイルを1つのcsvファイルにマージします。

私はグーグルしようとしましたが、まだマージできません。新しいファイルを作成しますが、内部には何も表示されません。https:// stackoverflow .com/a/16266144/7624469

a.csv

ID    User
A1    Fi
A2    Ki

b.csv

ID    User
A4    Fsdi
A5    Kisd

必要な出力は次のようになります

combined.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)
7
Fiqri Mfbw

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)
8
cs95

mergeではなく、pd.concatを使用してこのフレームを結合することをお勧めします。

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

データを使用したおもちゃの例:

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

出力されます:

    User
A1  Fi
A2  Ki
A4  Fi
A5  Ki
6
Grigory

Pythonに煩わされることなく、grepでbashを使用するだけです。

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