如何使用Python强制合并无共同列的两个Excel表格?
合并无共同关联列的两个Excel表格(按行对齐)
你的需求是将两个没有共同关联列的表格按行顺序一一对应合并,原代码使用merge方法无效,因为merge默认会寻找两个表中同名的列作为关联键,而你的两个表没有这类列,所以需要改为按行索引来合并。
下面是两种可行的解决方案:
方法1:使用pd.concat按列拼接
当两个表的行数完全一致时,直接用concat按列方向拼接即可,自动按行索引对齐:
import pandas as pd # 读取Excel文件 f1 = pd.read_excel("file1.xlsx") f2 = pd.read_excel("file2.xlsx") # 按列拼接,保留指定列 f3 = pd.concat([f1[["customer_id"]], f2[["purchase_id", "purchase_amount"]]], axis=1)
方法2:使用merge按索引连接
在merge中指定left_index=True和right_index=True,强制按行索引进行关联:
import pandas as pd f1 = pd.read_excel("file1.xlsx") f2 = pd.read_excel("file2.xlsx") # 按行索引合并表格 f3 = f1[["customer_id"]].merge( f2[["purchase_id", "purchase_amount"]], left_index=True, right_index=True )
两种方法都能得到你期望的合并结果:
| customer_id | purchase_id | purchase_amount |
|---|---|---|
| 1 | 501 | five |
| 2 | 502 | two |
内容的提问来源于stack exchange,提问作者Jesse Morelli
相关产品推荐
相关产品推荐

