找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 1482|回复: 0

[《从excel到python》笔记案例] 汇总多工作簿数据

[复制链接]

482

主题

7万

元宝

75万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
750848
发表于 2022-4-24 10:28:02 | 显示全部楼层 |阅读模式
2022-04-24_102224.png 2022-04-24_102210.png

需求:每个工作簿中又有多个工作表,要求汇总所有工作表B列的数据
思路:循环读取每个工作簿中的每个工作表,再求和
练习素材: 销售表.rar (19.34 KB, 下载次数: 648)

  1. import os,xlwt,xlrd #导入操作系统接口模块,xls读取与写入库。
  2. files=os.listdir('销售表') #获取销售表文件夹下的所有工作簿名称。
  3. print(files)
  4. lst=[[file.split('.')[0],ws.name,sum(ws.col_values(1)[1:])] for file in files for ws in xlrd.open_workbook('销售表/'+file).sheets()] #对每个工作簿下每个工作表B列的数字求和。
  5. print(lst)
  6. lst=[['公司名','姓名','总营业额']]+lst #将表头连接到lst列表前面。
  7. nwb=xlwt.Workbook('utf-8');nws=nwb.add_sheet('汇总表') #新建工作簿与工作表。
  8. row_num=0 #初始化row_num为0。
  9. for l in lst: #循环lst列表中的每个元素。
  10.     nws.write(row_num,0,l[0]) #将公司名写入A列。
  11.     nws.write(row_num,1,l[1]) #将工作表名写入B列。
  12.     nws.write(row_num,2,l[2]) #将每个人的业绩写入C列。
  13.     row_num +=1 #累加row_num变量,并做为写入数据时的行号。
  14. nwb.save('Chapter-5-16-1.xls') #保存工作簿。
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-4-19 22:14 , Processed in 0.104172 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表