123456789101112131415161718192021222324252627282930313233 |
- import pandas as pd
- # 读取两个表
- table1 = pd.read_excel(r"D:\guozhong\19、定远县\19、定远县\定远县转码表.xlsx",converters={"样品编号":str}) # 表1
- table2 = pd.read_excel(r"D:\guozhong\19、定远县\19、定远县\定远县表层数据统计20241222.xlsx") # 表2
- # 确保两表列数据类型一致,转换为字符串
- table1["转码后样品编号"] = table1["样品编号"].astype(str)
- table1["样品编号"] = table1["原样品编号"].astype(str)
- table2["样品编号"] = table2["样品编号"].astype(str)
- print(table1)
- print(table2)
- # 提取表2的样品编号列
- sample_ids_table2 = table2["样品编号"].tolist()
- print(sample_ids_table2)
- # 创建一个列表,用于存储匹配结果
- matched_results = []
- # 遍历 table2 的样品编号,与 table1 的转码后样品编号匹配
- for sample_id in sample_ids_table2:
- matches = table1[table1["转码后样品编号"] == sample_id]
- for _, row in matches.iterrows():
- matched_results.append((sample_id, row["样品编号"]))
- # 将结果转为 DataFrame 并保存到 Excel 文件
- output_df = pd.DataFrame(matched_results, columns=["表2样品编号", "表1样品编号"])
- output_path = r"D:\guozhong\定远表层转码.xlsx"
- output_df.to_excel(output_path, index=False)
- print(f"匹配完成!结果已保存到 {output_path}")
|