# 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()
批量提取一个工作簿中所有工作表的唯一值
最新推荐文章于 2024-07-17 14:44:31 发布
该博客介绍了一种使用Python的xlwings库批量处理Excel文件的方法,具体步骤包括打开工作簿,遍历所有工作表,提取'A2'单元格开始的列数据,合并并去重,然后将处理后的数据写入新的工作簿,自动调整行高和列宽,并最终保存为'书名.xlsx'。这个过程适用于需要对多个Excel工作表进行相同数据处理的场景。

525

被折叠的 条评论
为什么被折叠?



