用python按条件将一个工作表拆分为多个工作簿时,出现下面的问题,请问是什么原因
请问怎么实现保留表头格式,按乡镇拆分工作簿,并按村排序,重新添加序号,个人身份是党员的行填充标红
import xlwings as xw
file_path = 'd:\\python_file\\产品统计表.xlsx' # 给出来源工作簿的文件路径
sheet_name = '统计表' # 给出要拆分的工作表的名称
app = xw.App(visible=False,add_book=False) # 启动Excel程序
workbook = app.books.open(file_path) # 打开来源工作簿
worksheet = workbook.sheets[sheet_name] # 选中拆分的工作表
value = worksheet.range('A2').expand('table').value # 读取要拆分的工作表中的所有数据
data = dict() # 创建一个空字典用于按产品名称分类存放数据
for i in range(len(value)): # 按行遍历工作表数据
product_name = value[i][1] # 获取当前行的产品名称,作为数据的分类依据
if product_name not in data: # 判断字典中是否不存在当前行的产品名称
data[product_name] = [] # 如果不存在,则创建一个与当前行的产品名称对应的空列表,用于存放当前行的数据
data[product_name].append(value[i]) # 将当前行的数据追加到当前行的产品名称对应的列表中
for key,value in data.items(): # 按产品名称遍历分类后的数据
new_workbook = xw.books.add() # 新建目标工作簿
new_worksheet = new_workbook.sheets.add(key) # 在目标工作簿中新增工作表并命名为当前的产品名称
new_worksheet['A1'].value = worksheet['A1:H1'].value # 将要拆分的工作表的列标题复制到新建的工作表中
new_worksheet['A2'].value = value # 将当前产品名称下的数据复制到新建的工作表中
new_workbook.save('{}.xlsx'.format(key)) # 以当前产品名称作为文件名保存目标工作簿
app.quit() # 退出Excel程序
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢