【无标题】

我想批量提取一个工作簿中所有工作表的特定数据,但是提示错误: 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数据 如下

在这里插入图片描述

请问大佬,这个错误到底是出现在哪啊,如何解决,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值