哈哈,下一个挑战来了!我们要找出两个表格中共有和各自独有的数据,就像在两堆乐高积木里找到相同的和不同的部分。让我们一起搞定它!
我们继续使用 `pandas` 来处理这个问题。下面是如何找出表A和表B中的相同数据,以及各自独有的数据的代码:
import os
import pandas as pd
# 文件夹路径
folder_path = r'd:\\wp\\csv'
# 读取两个Excel文件
df_a = pd.read_excel(os.path.join(folder_path, '142.xlsx'))
df_b = pd.read_excel(os.path.join(folder_path, '1423.xlsx'))
# 确保B列的数据类型一致
df_a['B列'] = df_a['B列'].astype(str).str.strip()
df_b['B列'] = df_b['B列'].astype(str).str.strip()
# 找出表A和表B中共有的数据
common_data = pd.merge(df_a, df_b, on='B列', how='inner')
# 找出表A中有但表B中没有的数据
a_not_in_b = df_a[~df_a['B列'].isin(df_b['B列'])]
# 找出表B中有但表A中没有的数据
b_not_in_a = df_b[~df_b['B列'].isin(df_a['B列'])]
# 保存结果到新的Excel文件中
common_data.to_excel(os.path.join(folder_path, 'common_data.xlsx'), index=False)
a_not_in_b.to_excel(os.path.join(folder_path, 'a_not_in_b.xlsx'), index=False)
b_not_in_a.to_excel(os.path.join(folder_path, 'b_not_in_a.xlsx'), index=False)
print('操作完成:')
print(f'共有数据已保存到:{os.path.join(folder_path, "common_data.xlsx")}')
print(f'A表中有但B表中没有的数据已保存到:{os.path.join(folder_path, "a_not_in_b.xlsx")}')
print(f'B表中有但A表中没有的数据已保存到:{os.path.join(folder_path, "b_not_in_a.xlsx")}')
这段代码做了以下几件事:
1. 读取两个 Excel 文件。
2. 将 B列 的数据转换成字符串并删除首尾空格,确保比较时的一致性。
3. 使用 `pd.merge` 找出两个表格中共有的数据。
4. 使用 `~isin` 方法找到各自独有的数据。
5. 最后,将结果分别保存到新的 Excel 文件中。
这样,你就能轻松找到共有和各自独有的数据啦!祝你接下来的任务一切顺利!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |