用python将三个excle表格的姓名列单独合并,并且模糊统计每个姓名出现的次数
时间: 2024-03-03 17:50:14 浏览: 64
合并字符串和统计字符串出现的次数
您好!针对您的问题,可以使用Python的pandas库来完成。具体实现步骤如下:
1. 安装pandas库
如果您还没有安装pandas库,可以在命令行中输入以下命令进行安装:
```
pip install pandas
```
2. 读取excle表格
使用pandas库中的read_excel()函数读取三个excle表格中的姓名列,并将它们合并成一个DataFrame对象。假设三个表格的文件名分别为table1.xlsx、table2.xlsx和table3.xlsx,姓名列的列名均为“姓名”,则代码如下:
```
import pandas as pd
# 读取三个excle表格中的姓名列
df1 = pd.read_excel('table1.xlsx', usecols=['姓名'])
df2 = pd.read_excel('table2.xlsx', usecols=['姓名'])
df3 = pd.read_excel('table3.xlsx', usecols=['姓名'])
# 将三个DataFrame对象合并成一个
df = pd.concat([df1, df2, df3], ignore_index=True)
```
3. 统计姓名出现次数
使用pandas库中的value_counts()函数统计每个姓名出现的次数,并将结果保存到一个新的DataFrame对象中。由于您要求模糊统计,因此可以使用str.contains()函数实现模糊匹配。假设您要统计姓“张”的人数,代码如下:
```
# 统计姓“张”的人数
df_zhang = df[df['姓名'].str.contains('张')]
result = pd.DataFrame(df_zhang['姓名'].value_counts())
result.columns = ['出现次数']
```
最终的结果会保存在result对象中,您可以使用to_excel()函数将其保存到一个新的excle表格中:
```
# 将结果保存到一个新的excle表格中
result.to_excel('result.xlsx')
```
完整的代码如下:
```
import pandas as pd
# 读取三个excle表格中的姓名列
df1 = pd.read_excel('table1.xlsx', usecols=['姓名'])
df2 = pd.read_excel('table2.xlsx', usecols=['姓名'])
df3 = pd.read_excel('table3.xlsx', usecols=['姓名'])
# 将三个DataFrame对象合并成一个
df = pd.concat([df1, df2, df3], ignore_index=True)
# 统计姓“张”的人数
df_zhang = df[df['姓名'].str.contains('张')]
result = pd.DataFrame(df_zhang['姓名'].value_counts())
result.columns = ['出现次数']
# 将结果保存到一个新的excle表格中
result.to_excel('result.xlsx')
```
阅读全文