nourou4them / python-learning

Learn to code in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Excel

nourou4them opened this issue · comments

import pandas as pd

def compare_excel_files(file1_path, file2_path):
# Read Excel files
df1 = pd.read_excel(file1_path)
df2 = pd.read_excel(file2_path)

# Merge dataframes on column A
merged_df = pd.merge(df1, df2, on='A', suffixes=('_file1', '_file2'))

# Get differences between columns values
differences = merged_df[merged_df.filter(like='_file1').ne(merged_df.filter(like='_file2')).any(axis=1)]

return len(df1), len(df2), differences

def write_output_to_txt(output_path, num_lines_file1, num_lines_file2, differences):
with open(output_path, 'w') as file:
file.write(f"Number of lines in File 1: {num_lines_file1}\n")
file.write(f"Number of lines in File 2: {num_lines_file2}\n\n")

    if not differences.empty:
        file.write("Differences between files:\n")
        file.write(differences.to_string(index=False))
    else:
        file.write("No differences found between files.")

if name == "main":
# Input file paths
file1_path = input("Enter path to the first Excel file: ")
file2_path = input("Enter path to the second Excel file: ")

# Analyze files and get differences
num_lines_file1, num_lines_file2, differences = compare_excel_files(file1_path, file2_path)

# Output to txt file
output_path = input("Enter the path to save the output txt file: ")
write_output_to_txt(output_path, num_lines_file1, num_lines_file2, differences)

print("Analysis complete. Output saved to", output_path)