批量提取一个工作簿中所有工作表的唯一值

该博客介绍了一种使用Python的xlwings库批量处理Excel文件的方法,具体步骤包括打开工作簿,遍历所有工作表,提取'A2'单元格开始的列数据,合并并去重,然后将处理后的数据写入新的工作簿,自动调整行高和列宽,并最终保存为'书名.xlsx'。这个过程适用于需要对多个Excel工作表进行相同数据处理的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 5.14 批量提取一个工作簿中所有工作表的唯一值
import xlwings as xw
app = xw.App(visible=False,add_book=False)    # 启动excel程序
workbook = app.books.open('d:\\python_file\\上半年产品销售统计表.xlsx')    # 打开指定工作簿
data = []    # 创建一个空列表用于存放书名数据
for i, worksheet in enumerate(workbook.sheets):     # 遍历工作簿中的工作表
    values = worksheet['A2'].expand('down').value       # 提取当前工作表中的书名数据
    data = data + values   # 将提取出的书名数据添加到前面创建的列表中
data = list(set(data))  # 对列表中的书名数据进行去重操作
data.insert(0,'书名')   # 在去重后的书名数据前添加列标题"书名"
new_workbook = xw.books.add()    # 新建工作簿
new_worksheet = new_workbook.sheets.add('书名')    # 在新工作簿中新增一个名为"书名"的工作表
new_worksheet['A1'].options(transpose=True).value = data  # 将处理好的数名数据写入新工作表
new_worksheet.autofit()    # 根据数据内容自动调整新工作表的行高和列宽
new_workbook.save('书名.xlsx')    # 保存新工作簿并命名为"书名.xlsx"
workbook.close()
app.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值