有一个xls表格,第一列为机主姓名,第二列为用逗号分隔的多个手机号,通过python的pandas库实现将手机号放在一列并对应机主姓名
时间: 2023-03-20 10:01:30 浏览: 132
Python matplotlib画图 pandas表格数据读取 将多个图画在同一个平面内
可以使用 pandas 库中的 split() 方法将第二列中的多个手机号进行拆分,然后使用 pandas 库中的 melt() 方法将拆分后的手机号列进行堆叠,最后使用 merge() 方法将两列进行合并,代码示例如下:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('example.xlsx')
# 拆分手机号列
df['手机号'] = df['手机号'].str.split(',')
# 堆叠手机号列
df = df.melt(id_vars=['姓名'], value_name='手机号').dropna().drop(columns=['variable'])
# 合并姓名和手机号列
result = pd.merge(df, df_name, on='姓名')
print(result)
```
其中,'example.xlsx' 为 Excel 文件的文件名,'姓名' 和 '手机号' 分别为第一列和第二列的列名,df_name 是包含姓名和手机号的 DataFrame。运行后,result 中将包含姓名和手机号两列,且手机号已经放在了一列并且与对应的机主姓名匹配。
阅读全文