Python检查excel某一个列是否包含另一个excel列中的元素,并将其匹配出来放在表格中

帮对象处理所需数据时写的代码——第四弹(实现功能:根据表格一中的经济排名前五的地区,从表格二中匹配相应的县信息,并将匹配结果添加到表格一中的县列,最后保存到新的Excel文件中,两表格输入数据可根据需要选择)

目录

第一节:读取表格一和表格二的数据

第二节:添加进度条并将匹配到的表格二元素放在表格一的县列中

第三节:保存结果到新的Excel文件

第四节:代码运行实例

完整程序:


第一节:读取表格一和表格二的数据

这部分代码指定了表格一和表格二的文件路径,并使用pd.read_excel函数读取数据。其中,df1表示表格一的数据,address_column表示从表格一中提取的经济排名前五的地区列数据。同样地,df2表示表格二的数据,region_column表示从表格二中提取的县列数据。

import pandas as pd
from tqdm import tqdm

# 读取表格一和表格二
file1 = r"C:\Users\aa\Desktop\1.xlsx"
file2 = r"C:\Users\aa\Desktop\2.xlsx"

# 读取表格一的数据
df1 = pd.read_excel(file1)
address_column = df1['经济排名前五的地区'].fillna('').astype(str).tolist()

# 读取表格二的数据
df2 = pd.read_excel(file2)
region_column = df2['县'].fillna('').astype(str).tolist()

第二节:添加进度条并将匹配到的表格二元素放在表格一的县列中

这部分代码使用tqdm库创建了一个进度条,总共的迭代次数为address_column的长度,即表格一中经济排名前五的地区的行数。然后,通过遍历address_column,使用列表推导式从region_column中提取与地址匹配的县。最后,将匹配的县用逗号连接成字符串,并将结果存储在表格一的县列中。

# 添加进度条
progress_bar = tqdm(total=len(address_column), desc='Processing')

# 将表格二的元素放在表格一的县列中
for i, address in enumerate(address_column):
    counties = [region for region in region_column if region in address]
    df1.at[i, '县'] = ','.join(counties)
    progress_bar.update(1)

# 关闭进度条
progress_bar.close()

第三节:保存结果到新的Excel文件

代码指定了输出文件的路径,并使用to_excel方法将修改后的表格一数据保存到新的Excel文件中。通过设置index=False,可以避免在输出文件中添加默认的行索引。

# 保存结果到新的Excel文件
output_file = r"C:\Users\aa\Desktop\3.xlsx"
df1.to_excel(output_file, index=False)

第四节:代码运行实例

注意:列名称记得按实际修改

输入表格一:

输入表格二:

 输出表格三:

完整程序:

import pandas as pd
from tqdm import tqdm

# 读取表格一和表格二
file1 = r"C:\Users\aa\Desktop\1.xlsx"
file2 = r"C:\Users\aa\Desktop\2.xlsx"

# 读取表格一的数据
df1 = pd.read_excel(file1)
address_column = df1['经济排名前五的地区'].fillna('').astype(str).tolist()

# 读取表格二的数据
df2 = pd.read_excel(file2)
region_column = df2['县'].fillna('').astype(str).tolist()

# 添加进度条
progress_bar = tqdm(total=len(address_column), desc='Processing')

# 将表格二的元素放在表格一的县列中
for i, address in enumerate(address_column):
    counties = [region for region in region_column if region in address]
    df1.at[i, '县'] = ','.join(counties)
    progress_bar.update(1)

# 关闭进度条
progress_bar.close()

# 保存结果到新的Excel文件
output_file = r"C:\Users\aa\Desktop\3.xlsx"
df1.to_excel(output_file, index=False)

 如有不足,欢迎留言指正交流哈!!!

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~玲儿响叮当~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值