如何使用Python扫描Excel关键词并自动填充至空白目标Excel表
使用Python提取Excel关键词值并填充目标文件
依赖准备
先安装所需的Python库:
pip install pandas openpyxl
代码实现与说明
假设你的源Excel(source.xlsx)中关键词在A列、对应值在B列;目标空白Excel(target.xlsx)需要将指定关键词的值填入固定单元格(比如把"客户名称"的值放到B2,"总金额"放到B3),以下是具体实现:
1. 读取源文件并提取关键词对应值
import pandas as pd # 读取源Excel的第一个工作表,无表头时设置header=None source_df = pd.read_excel('source.xlsx', sheet_name=0, header=None) # 将关键词与对应值转为字典,方便快速查找 key_value_map = dict(zip(source_df[0], source_df[1])) # 提取需要的目标关键词值,未找到时返回默认文本 customer_name = key_value_map.get('客户名称', '无匹配值') total_amount = key_value_map.get('总金额', '无匹配值')
2. 填充并保存目标Excel
from openpyxl import load_workbook # 加载目标空白Excel模板 wb = load_workbook('target.xlsx') ws = wb.active # 操作当前活跃的工作表 # 将提取的值填入指定单元格 ws['B2'] = customer_name ws['B3'] = total_amount # 保存填充后的文件(可指定新文件名避免覆盖原模板) wb.save('filled_target.xlsx')
适配不同Excel结构的调整
- 若源文件关键词和值不在相邻列(比如关键词在A列、值在C列),修改字典生成代码为:
key_value_map = dict(zip(source_df[0], source_df[2])) - 若源文件带表头,读取时设置
header=0,然后用列名访问:key_value_map = dict(zip(source_df['关键词列名'], source_df['值列名'])) - 需填充更多关键词时,直接扩展字典查找和单元格赋值的代码即可
内容的提问来源于stack exchange,提问作者JoyceD
相关产品推荐
相关产品推荐

