比对两个excel中字段的区别,并给出代码
时间: 2024-02-27 17:55:31 浏览: 166
以下是使用Python和pandas库比对两个Excel中字段的区别的示例代码:
```python
import pandas as pd
# 读取两个Excel文件
df1 = pd.read_excel("file1.xlsx")
df2 = pd.read_excel("file2.xlsx")
# 取出需要比对的字段
compare_cols = ["col1", "col2", "col3"]
# 合并两个DataFrame
merged = pd.merge(df1[compare_cols], df2[compare_cols], on=compare_cols, how="outer", suffixes=("_1", "_2"))
# 判断每个字段是否存在缺失值
diff_cols = []
for col in compare_cols:
is_diff = merged[col + "_1"].isna() != merged[col + "_2"].isna()
if is_diff.any():
diff_cols.append(col)
# 比较两个DataFrame是否完全相同
is_same = df1[compare_cols].equals(df2[compare_cols])
# 输出结果
if not diff_cols and is_same:
print("两个Excel中的字段完全相同")
else:
print("两个Excel中的字段存在差异:")
if diff_cols:
print("字段缺失/重复:", diff_cols)
if not is_same:
print("字段数据不同")
```
以上代码首先读取了两个Excel文件,并取出需要比对的字段,然后使用pandas的merge函数将两个DataFrame按照需要比对的字段进行合并。之后使用pandas的isna函数判断每个字段是否存在缺失值,并将结果存储在diff_cols列表中。最后使用pandas的equals函数比较两个DataFrame是否完全相同,如果不相同则输出差异信息。
阅读全文