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

[《从excel到python》笔记案例] 五、按条件统计多工作表数据

[复制链接]

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
发表于 2022-4-24 09:58:50 | 显示全部楼层 |阅读模式
表格里存储了上中下三旬的每天表现最佳的三个人,现在要求统计某一个人在这三个工作表中出现的次数。
上.png

下.png

中.png

统计结果如下:
2022-04-24_095542.png
  1. import xlrd,xlwt #导入读取与写入xls文件的库。
  2. wb=xlrd.open_workbook('Chapter-5-10-1.xls') #读取工作簿。
  3. nwb=xlwt.Workbook('utf-8') #新建工作簿。
  4. nws=nwb.add_sheet('统计结果') #新建工作表。
  5. nws.write(0,0,'时间');nws.write(0,1,'次数') #在新工作表中创建表头。
  6. new_row_num,num=0,0 #初始化new_row_num和num变量为0。
  7. for ws in wb.sheets(): #循环读取工作簿下的所有工作表。
  8.     for row_num in range(1,ws.nrows): #循环读取工作表下的每行。
  9.         if '问问梅' in ws.row_values(row_num): #判断如果'问问梅'在每行中有出现。
  10.             num +=1 #则对num变量累加1。
  11.     new_row_num +=1 #对new_row_num变量累加与做写入数据时的行号。
  12.     nws.write(new_row_num,0,ws.name) #将循环出来的工作表名写入新表A列。
  13.     nws.write(new_row_num,1,num) #将num变量的值写入新表B列。
  14.     num=0 #重置num变量,方便后续循环时的重新计数。
  15. nwb.save('Chapter-5-10-2.xls') #保存新建的工作簿。
复制代码





回复

使用道具 举报

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
 楼主| 发表于 2022-4-24 09:59:14 | 显示全部楼层
Chapter-5-10-1.xls (28.5 KB, 下载次数: 809) 练习素材
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-21 23:45 , Processed in 0.088806 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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