import pandas as pd # 读取两个表 table1 = pd.read_excel(r"D:\guozhong\庐江县\8、庐江县\剖面\庐江县剖面.xlsx") # 表1 table2 = pd.read_excel(r"D:\guozhong\庐江县\8、庐江县\庐江县剖面数据统计20241124.xlsx") # 表2 # 获取表2的样品编号列表 sample_ids_table2 = table2["样品编号"].tolist() sample_count = len(sample_ids_table2) # 用于存储结果的列表 result = [] print("样品编号总数:", sample_count) # 遍历表2的样品编号列表 for sample_id in sample_ids_table2: # 在表1中查找匹配的行 matched_rows = table1[table1["样品编号"] == sample_id] # 如果有匹配的行 if not matched_rows.empty: # 只取匹配到的第一行 first_matched_row = matched_rows.iloc[0] result.append((sample_id, first_matched_row.to_dict())) else: # 如果没有匹配的内容,仅添加样品编号,其他字段为空 result.append((sample_id, {})) # 构建 DataFrame output_data = [] for item in result: row_dict = {"样品编号": item[0], **item[1]} # 样品编号 + 匹配行内容(如果有) output_data.append(row_dict) output_df = pd.DataFrame(output_data) # 保存结果到 Excel output_df.to_excel("庐江剖面地理信息.xlsx", index=False)