用python实现两个文件中的数据对比

小论文好像快要出结果了,中间有个小程序来分享下,很简单,就是实现对比两个文件中的对应数据,然后把不一样的个数输出:

filename="C:\Users\Administrator\Desktop\data_out\data.txt"
f = open(filename)
c=()
cc=()
while 1:
    line = f.readline()
    if not line:
        break
    cc = eval(line)
    c = c + cc
s=c
filename="C:\Users\Administrator\Desktop\data.txt"
f = open(filename)
c=()
cc=()
while 1:
    line = f.readline()
    if not line:
        break
    cc = eval(line)
    c = c + cc
m=0
for i in range(0,len(c[0])):
    if c[0][i]!=s[0][i]:
        m=m+1
         
    



Python中,我们可以使用`pandas`库来实现两个Excel文件对比。`pandas`是一个非常强大的数据分析操作库,它支持读取Excel文件,并将数据转换为DataFrame对象进行处理。 下面是一个完整的示例程序,用于比较两个Excel文件中的数据: ### 示例功能: - 读取两个Excel文件。 - 对比两个文件中的相同位置的数据是否一致。 - 输出差异信息(行号、列名、不同值)。 --- ### ✅ 安装依赖 首先确保你安装了必要的库: ```bash pip install pandas openpyxl ``` --- ### ✅ Python代码实现 ```python import pandas as pd # 加载Excel文件 def load_excel(file_path): return pd.read_excel(file_path) # 比较两个DataFrame def compare_dataframes(df1, df2): # 确保两个DataFrame结构相同 if df1.shape != df2.shape: print("两个Excel文件的行列数不一致!") return differences = [] for row in range(df1.shape[0]): for col in range(df1.shape[1]): val1 = df1.iat[row, col] val2 = df2.iat[row, col] if val1 != val2: column_name = df1.columns[col] differences.append({ "row": row + 1, # 行号从1开始 "column": column_name, "file1_value": val1, "file2_value": val2 }) return differences # 主函数 def main(file1, file2): df1 = load_excel(file1) df2 = load_excel(file2) # 可选:重置索引以确保一致性 df1.reset_index(drop=True, inplace=True) df2.reset_index(drop=True, inplace=True) diff = compare_dataframes(df1, df2) if diff: print("发现差异:") for item in diff: print(f"行: {item['row']}, 列: {item['column']}, 文件1值: {item['file1_value']}, 文件2值: {item['file2_value']}") else: print("两个Excel文件内容完全一致!") # 示例调用 if __name__ == "__main__": file1 = 'file1.xlsx' file2 = 'file2.xlsx' main(file1, file2) ``` --- ### 🔍 代码解释: 1. **`load_excel(file_path)`**:使用`pandas.read_excel()`加载Excel文件为DataFrame。 2. **`compare_dataframes(df1, df2)`**:遍历两个DataFrame的每一个单元格,检查其值是否一致。 3. **`main(file1, file2)`**:主函数,负责加载文件并调用比较函数。 4. **输出差异**:如果发现差异,则打印出具体的行号、列名以及两个文件中的不同值。 --- ### 📝 注意事项: - Excel文件需要是`.xlsx`格式(旧版`.xls`可能不支持)。 - 如果表格有多个sheet,请指定sheet名称或索引,如:`pd.read_excel(file_path, sheet_name='Sheet1')` - 值类型必须一致,比如不能一个是字符串“1”,另一个是整数1,否则会被认为不同。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值