1.xlsx的pn列,里面的单元格与多个数据,以,分隔。这些pn与2.xlsx的pn列是对应的,如何运用python,将1.xlsx的用,分隔的单独的pn分别与2.xlsx对应,并获取2.xlsx中pn对应的abs列的内容
时间: 2024-04-15 22:30:15 浏览: 93
要将1.xlsx中以逗号分隔的单元格分别与2.xlsx对应,并获取2.xlsx中对应pn的abs列的内容,可以使用Python中的pandas库来处理Excel文件。以下是一个示例代码:
```python
import pandas as pd
# 读取1.xlsx中的数据
df1 = pd.read_excel('1.xlsx')
# 读取2.xlsx中的数据
df2 = pd.read_excel('2.xlsx')
# 将1.xlsx的pn列按逗号分隔,并展开为多行
df1['pn'] = df1['pn'].str.split(',')
df1 = df1.explode('pn')
# 合并2.xlsx和1.xlsx的数据,根据pn列进行对应
merged_df = pd.merge(df1, df2, on='pn', how='left')
# 获取对应pn在2.xlsx中的abs列的内容
result = merged_df['abs']
print(result)
```
在上面的示例中,首先使用`pd.read_excel()`函数读取1.xlsx和2.xlsx文件的数据。然后,使用`str.split()`函数将1.xlsx中以逗号分隔的单元格分割成多个值,并使用`explode()`函数展开为多行。接下来,使用`pd.merge()`函数将两个数据框按照pn列进行合并,使用`how='left'`参数表示保留1.xlsx中所有行,同时根据需要可以选择其他合并方式。最后,获取合并后的数据框中对应pn在2.xlsx中的abs列的内容。
你需要将代码中的文件名`1.xlsx`和`2.xlsx`替换为你实际的Excel文件名,然后运行代码即可获取到对应的abs列内容。
阅读全文