我想批量提取一个工作簿中所有工作表的特定数据,但是提示错误: raise KeyError(key) from err KeyError: ‘产品名称’,代码如下:
import os
import xlwings as xw
import pandas as pd # 导入pandas模块
data = [] # 创建一个空列表用于存放数据
file_path = 'e:\\背包数据'
file_list = os.listdir(file_path) # 给出工作簿所在的文件夹路径
app = xw.App(visible=False, add_book=False) # 启动Excel程序
for i in file_list: # 遍历文件夹路径下的所有文件名
if i.startswith('~$'): # 判断是否有文件名以“~$”开头的文件
continue # 如果有,则跳过这种类型的文件
file_paths = os.path.join(file_path, i) # 将文件夹路径和文件名拼接成工作簿的完整路径
workbook = app.books.open(file_paths) # 打开要调整的工作簿
for j in workbook.sheets: # 遍历当前工作簿中的工作表
value = j['A2'].expand('table').options(pd.DataFrame).value # 读取工作表数据
filtered = value[value['产品名称'] == '背包'] # 提取“产品名称”为“背包”的行数据
if not filtered.empty: # 判断提取出的行数据是否为空
data.append(filtered) # 将提取出的行数据追加到列表中
new_workbook = xw.books.add() # 新建工作簿
new_worksheet = new_workbook.sheets.add('背包') # 在新工作簿中新 增一个名为“背包”的工作表
new_worksheet.range('A2').value = pd.concat(data, ignore_index=False) # 将提取出的行数据写入工作表“复印纸”中
new_workbook.save('背包.xlsx') # 保存新工作簿并命名为“背包.xlsx”
workbook.save() # 保存当前工作簿
workbook.close() # 关闭当前工作簿
app.quit() # 退出Excel程序
我的excel数据 如下
请问大佬,这个错误到底是出现在哪啊,如何解决,谢谢