地理信息.py 1.3 KB

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