123456789101112131415161718192021222324252627282930313233343536373839 |
- 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)
|