如果某个excel中某个单元格有多哥数据,如何用这个单元格的多个数据分别去另一个excel匹配。利用python。比如:1.xlsx的id列有哥单元格有1、3、5这三个数据,如何用他们去2.xlsx表里的id列进行匹配,并获得id所对应的abs列,将对应abs列存在1.xlsx第五列
时间: 2024-04-13 11:30:14 浏览: 186
你可以使用 Python 中的 Pandas 库来实现这个需求。下面是一个基本的代码示例:
```python
import pandas as pd
# 读取1.xlsx和2.xlsx文件
df1 = pd.read_excel('1.xlsx')
df2 = pd.read_excel('2.xlsx')
# 创建一个空的列表用于存储匹配结果
abs_list = []
# 遍历1.xlsx中的id列
for data in df1['id']:
# 将单元格中的数据拆分成多个值
ids = str(data).split(',')
abs_values = []
# 遍历拆分后的每个值
for id in ids:
# 在2.xlsx中根据id进行匹配,并获取对应的abs值
abs_value = df2.loc[df2['id'] == int(id), 'abs'].values
if len(abs_value) > 0:
abs_values.append(abs_value[0])
# 将匹配到的abs值拼接成字符串,并添加到列表中
abs_list.append(','.join(abs_values))
# 将abs列表添加为1.xlsx的第五列
df1['abs'] = abs_list
# 将结果保存到新的文件中
df1.to_excel('result.xlsx', index=False)
```
请确保你已经安装了 Pandas 库,并将代码中的文件名 `1.xlsx` 和 `2.xlsx` 替换为你实际的文件路径。这段代码将会读取 `1.xlsx` 和 `2.xlsx` 文件,然后根据 `1.xlsx` 中的 id 列的每个单元格中的值,在 `2.xlsx` 中进行匹配,并将匹配到的 abs 值拼接成字符串,最后将结果保存到 `result.xlsx` 文件中。
阅读全文