自动化办公第一个脚本(Excel统计数据)xlrd and copy

1.我的思路

有一个可以汇总的表格---->在表格基础上先复制一份文件---->数据填写,汇总笔记,并且在写一个sheet,叫价钱汇总表格---->保存文件

2.执行文件

(1)自制一个简单表格

 (2)遇到问题

xlrd.biffh.XLRDError: Excel xlsx file; not supported

版本问题 :pip uninstall xlrd,pip install xlrd==1.2.0

AttributeError: 'ElementTree' object has no attribute 'getiterator'

还未解决

import xlrd
from xlutils.copy import copy


def read_data():
  wb = xlrd.open_workbook('./xl/sum_data.xlsx')
  sh = wb.sheet_by_index(0)
  fen_type = {}    # {a:110,b:300}
  count_price = []  # [1,2,3,4,5,6]


  for r in range(sh.nrows):
    count = sh.cell_value(r,3) * sh.cell_value(r,4)
    count_price.append(count)
    key = sh.cell_value(r,0)
    if fen_type.get(key):
      fen_type[key] += count
    else:
      fen_type[key] = count
  return fen_type,count_price # 各分类的总价值, 每个单品的总价值


def save(fen,count):
  wb = xlrd.open_workbook('./base_data/data01.xlsx')
  sh_t = wb.sheet_by_index(0)
  wb2 = copy(wb)
  sh = wb2.get_sheet(0)
  for r in range(sh_t.nrows):
    sh.write(r,sh_t.ncols,count[r])
  
  sh2 = wb2.add_sheet('汇总的数据')
  for i,key in enumerate(fen.keys()):
    sh2.write(i,0,key)
    sh2.write(i,1,fen.get(key))
  wb2.save('./create_data/05_汇总数据.xlsx')


if __name__ == "__main__":
  f,c = read_data()
  save(f,c)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要争就争第一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值