pandas を使う事で容易に結合できる。
例えば以下のような csv ファイルがあったとする
a.csv
NO,CODE
1,987
2,111
3,222
b.csv
ID1,ID2,CODE
1,111111111111111111,111111111111111111
2,222222222222222222,222222222222222222
pandas を使うことで容易に結合する事ができる
import pandas as pd
# まず2つのCSVを読み込む
a = pd.read_csv('./a.csv', encoding='utf-8')
b = pd.read_csv('./b.csv', encoding='utf-8')
# b の ID1 を NO に置換する
b_ = b.rename(columns={'ID1': 'NO'})
# a とb 2つのCSVを結合する。結合する際のキーは NO とする
df_merged = pd.merge(a, b_, on='NO')
# 確認
print(df_merged)
# CSV ファイルとして出力する
df_merged.to_csv("merged.csv", index=False)
結果
% python3 main.py
NO CODE_x ID2 CODE_y
0 1 987 111111111111111111 111111111111111111
1 2 111 222222222222222222 222222222222222222
今回、結合した csv ファイルそれぞれに CODE というカラムがそれぞれに存在している。
pd.merge の第一引数になったファイルは _x という suffix がつき、
第二引数になったファイルには _y という suffix が付く。