2つのExcelファイルにおける差分プログラム
Q&A
Closed
解決したいこと
pythonで2つのExcelファイルを読み込んで差分を出力するプログラムを作成しました。
このプログラムを作成に使用したPCでは実行されましたが、別のPCで使用したところ、うまく実行できなくなってしまいました。
上手く実行できるように修正したいです。
発生している問題・エラー
compare_excel_files(file_path1, file_path2)
の"compare_excel_files"が別のPCでは認識されておらず(コードの色が半透明になっている)関数が実行されていないと考えています。
該当するソースコード
import pandas as pd
def compare_excel_files(file_path1, file_path2):
# シート名を指定
sheet_name = 'シート名'
# 出力データを格納するリスト
output_data = []
# Excelファイルを読み込む
df1 = pd.read_excel(file_path1, sheet_name=sheet_name)
df2 = pd.read_excel(file_path2, sheet_name=sheet_name)
# データの差分を抽出
diff_data = df2[df2 != df1]
diff_data.dropna(how='all', inplace=True)
# 差分がある場合は出力データに追加
if not diff_data.empty:
# 差分データを整形して出力データに追加
for row_index, row in diff_data.iterrows():
for col_name, cell_value in row.iteritems():
if pd.notnull(cell_value):
# シート名、セル、Excel1ファイルの該当する内容、Excel2ファイルの該当する内容を出力データに追加
output_data.append([sheet_name, f"{col_name}{row_index}", df1.loc[row_index, col_name], df2.loc[row_index, col_name]])
# 出力データをDataFrameに変換
output_df = pd.DataFrame(output_data, columns=['Sheet Name', 'Cell', 'Excel1', 'Excel2'])
# 出力データをExcelファイルに保存
output_df.to_excel("出力ファイル名.xlsx", index=False)
# ファイルのパスを指定してデータを比較
file_path1 = "Excelファイル名1.xlsx"
file_path2 = "Excelファイル名2.xlsx"
compare_excel_files(file_path1, file_path2)
自分で試したこと
差分プログラムの作成
0