# 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()
批量提取一个工作簿中所有工作表的唯一值
最新推荐文章于 2022-02-22 14:19:51 发布