两个文件夹下有大量同名excel文件,筛选出同名excel,并对比同名excel文件的第二行数据,将差异的部分记录下来
时间: 2024-09-10 11:17:36 浏览: 75
要完成这个任务,可以使用Python语言配合Pandas库来实现。以下是一个基本的步骤说明:
1. 使用`os`库列出两个文件夹下所有的Excel文件。
2. 对于每个文件,使用`pandas`库读取Excel文件。
3. 比较两个文件夹中同名Excel文件的第二行数据。
4. 将有差异的单元格内容记录下来。
具体代码示例可能如下:
```python
import os
import pandas as pd
# 指定两个文件夹路径
folder1 = 'path_to_folder1'
folder2 = 'path_to_folder2'
# 获取两个文件夹下所有的Excel文件名列表
files_folder1 = [f for f in os.listdir(folder1) if f.endswith('.xlsx')]
files_folder2 = [f for f in os.listdir(folder2) if f.endswith('.xlsx')]
# 创建一个字典来存储差异记录
differences = {}
# 遍历第一个文件夹的文件名
for file in files_folder1:
# 构建完整的文件路径
file_path1 = os.path.join(folder1, file)
file_path2 = os.path.join(folder2, file)
# 如果第二个文件夹中也有同名文件,则进行比较
if file in files_folder2:
# 读取两个Excel文件的第二行数据
df1 = pd.read_excel(file_path1, header=None).iloc[1:2]
df2 = pd.read_excel(file_path2, header=None).iloc[1:2]
# 比较两个DataFrame是否相同
if not df1.equals(df2):
# 存储差异
differences[file] = (df1, df2)
# 打印差异或输出到文件
for file, (df1, df2) in differences.items():
print(f"文件 {file} 在两个文件夹中存在差异。")
print("文件夹1中的第二行数据:")
print(df1)
print("文件夹2中的第二行数据:")
print(df2)
```
在运行上述代码之前,请确保已安装了`pandas`库和`openpyxl`库(用于读写`.xlsx`文件),可以通过`pip install pandas openpyxl`进行安装。
阅读全文