Pythonで2つのExcelファイルを比較し,一致するセルを抽出したいです。
具体的には、以下の2つのファイルを比較し、一致しているIPを抽出したいです。
- file1のB列2行目~10行目にIPアドレスが記載されています。
(IPアドレスの記載は都度々々変わります。)
2. File2のB列2行目~10行目にもIPアドレスが記載されています。
(IPアドレス台帳で記載内容は基本変わりません。)
また、C列目にそのIPアドレスの利用用途(Aネットワーク用等)が説明書きされています。
有識者の協力もありつつ以下ソースコードまでは作成しました。
pip install openpyxl import openpyxl wb1 = openpyxl.load_workbook('c:/py/file1.xlsx') wb1_sheet1 = wb1['Sheet1'] wb1_sheet1_arealist = ['B2','B3','B4','B5','B6','B7','B8','B9','B10'] wb2 = openpyxl.load_workbook('c:/py/file2.xlsx') wb2_sheet1 = wb2['Sheet1'] wb2_sheet1_arealist = ['B2','B3','B4','B5','B6','B7','B8','B9','B10'] wb2_sheet1_arealist_ext = ['C2','C3','C4','C5','C6','C7','C8','C9','C10'] for pos1 in wb1_sheet1_arealist: print("-" * 40) from_target_key = wb1_sheet1[pos1].value print(pos1,from_target_key) output = "一致なし" for pos2,pos3 in zip(wb2_sheet1_arealist,wb2_sheet1_arealist_ext): to_target_key = wb2_sheet1[pos2].value if from_target_key == to_target_key: to_target_ext = wb2_sheet1[pos3].value output = 'file2のB列=' + to_target_key + ',file2のC列=' + to_target_ext print(output) print ('end')
しかし、これですとfile1のセルB1とfile2のセルB2で一致した場合、
file1のセルB2とfile2のセルB3~B10の比較で一致しなくても
一致しているという結果になってしまいます。
そのため、一致しない場合には「一致なし」と出力したいです。
もしくは、もう少し簡単な構文で、「ファイルを比較し、一致するセルのみを抽出する」
方法をご教示頂けますと大変助かります。
回答2件
あなたの回答
tips
プレビュー