import xlrd
from xlutils.copy import copy
def get_data():
wb = xlrd.open_workbook('data.xls')
sh = wb.sheet_by_index(0)
all_data = {}
for r in range(sh.nrows):
d = {'type': sh.cell_value(r,1), 'name':sh.cell_value(r,2), 'count':sh.cell_value(r,3), 'price':sh.cell_value(r,4)}
key = sh.cell_value(r, 0)
if all_data.get(key):
all_data[key].append(d)
else:
all_data[key] = [d]
return all_data
def save(data):
wb = xlrd.open_workbook('data.xls')
wb2 = copy(wb)
for key in data.keys():
temp_sheet = wb2.add_sheet(key)
for i, d in enumerate(data.get(key)):
temp_sheet.write(i, 0, d.get('type'))
temp_sheet.write(i, 1, d.get('name'))
temp_sheet.write(i, 2, d.get('count'))
temp_sheet.write(i, 3, d.get('price'))
wb2.save('06_表格的拆分.xls')
if __name__ == "__main__":
all_data = get_data()
save(all_data)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)