我需要创建一个excel表,比较两个样本表,其中一个包含序列号和其他信息。第二张包含保修日期。例如, source1表包含以下数据
Model Serial Location
Dell 1234 A
Thoshiba 2345 B
Apple 3456 C
Cisco 4567 D
Sun 5678 E
source2包含以下数据
Serial Warranty Status
2345 1/1/2010
4567 2/2/2012
1112 3/2/2015
,结果应为
Model Serial Location Warranty Status
Dell 1234 A Not Found
Thoshiba 2345 B 1/1/2010
Apple 3456 C Not Found
Cisco 4567 D 2/2/2012
Sun 5678 E Not Found
Not Found 1112 Not Found 3/2/2015
我找到了一些示例脚本,但我的方案包含:
请给我一些建议和最佳算法,以便更快地完成此任务。
答案 0 :(得分:1)
尝试下面的代码,我修改过:
import pandas as pd
source1_df = pd.read_excel('a.xlsx', sheetname='source1')
source2_df = pd.read_excel('a.xlsx', sheetname='source2')
joined_df = pd.merge(source1_df,source2_df,on='Serial',how='outer')
joined_df.to_excel('/home/user1/test/result.xlsx')
我不是python的专家,但是一个人工作过。
答案 1 :(得分:0)
安装pandas
,然后您可以将每个工作表加载为数据框并按Serial
加入:
import pandas as pd
source1_df = pd.read_excel('path/to/excel', sheetname='source1_sheet_name')
source2_df = pd.read_excel('path/to/excel', sheetname='source2_sheet_name')
joined_df = source1_df.join(source2_df, on='Serial')
joined_df.to_excel('path/to/output_excel')