簡體   English   中英

使用 Pandas 如何根據來自不同 csv 文件的兩列復制行值

[英]Using Pandas how to copy row value based on two Columns from different csv file

我正在使用 pandas 轉換 csv 數據,但我被困在這里。
我有兩個 CSV 文件 Test1.csv 和 Test2.csv。 兩個文件都包含兩列 ID 和 Name
根據Test1.csv ID,我試圖在Test2.csv中找到一個ID值,並找到與該ID對應的名稱,並將其復制到一個新文件output.csv中。
例如:
我有一個文件 Test1.csv

ID,Name
1,John
2,Doe
3,Adam
4,Casy
5,Jane
6,Elot
7,Doe
8,xavi

和另一個文件 Test2.csv

ID,Name
1,Casy
3,Adam
2,Tom 
4,Bruno
5,Johnop
6,John

基於 Test1.csv 的 ID,我試圖在 Test2.csv 中查找具有相應名稱值的 ID 值,並將其存儲在具有 oldName 和 newName 列的新文件中,如 output.csv 文件中所述。
預期 Output:output.csv

oldName,ID,newName
John,1,Casy
Doe,2,Tom
Adam,3,Adam 
Casy,4,Bruno
Jane,5,Johnop
Elot,6,John
Doe,7,
xavi,8,

將 Test1.csv 和 Test2.csv 讀取為 pandas df

試試output = Test1.merge(Test2,left_on='ID',right_on='ID',how='left')

並將 output df 保存為 output.csv

嘗試這個:

df1 = pd.read_csv('Test1.csv')
df2 = pd.read_csv('Test2.csv')

merged = pd.merge(df1, df2, on='ID', how='left').fillna('')
merged = merged.rename(columns={'Name_x': 'oldName', 'Name_y': 'newName'})
merged[['oldName', 'ID', 'newName']].to_csv('output.csv', index=False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM