使用xlwings实现对excel表中指定列隔行求和

news/2024/7/21 4:51:48 标签: excel

需要对上表中的营业额隔行求和,即橙色背景颜色的求和,无背景颜色的求和。

看了大佬的视频,有两种方法:

1.加辅助列

2.使用判断行的奇偶函数,然后在用sumproduct函数

在此,我使用xlwings对excel表中数据隔行求和,代码如下,注释已经很清晰。

import xlwings as xw
app = xw.App(visible=False)  # 隐藏Excel
wb = app.books.open('隔行求和.xlsx')  # 打开工作簿


sht = wb.sheets['Sheet1']  # 实例化工作表1

#获取行数和列数
rows_count=sht.range(1, 1).expand().shape[0]
cols_count=sht.range(1, 1).expand().shape[1]
print(rows_count,cols_count)

#读取B列(即“营业额”列的数据,结果是一个列表)
data_list = sht.range('B2:B%s' %rows_count).value#将每行数据输出至列表
print(data_list)#[424.0, 224.0, 327.0, 331.0, 416.0, 253.0, 438.0, 437.0]

#列表的奇数序号位置的元素组成的列表,求和(列表下标从0开始),
odd_list=data_list[1::2]
print(odd_list)#[224.0, 331.0, 253.0, 437.0]
print(sum(odd_list))

#列表的偶数序号位置的元素组成的列表,求和(列表下标从0开始)
even_list=data_list[0::2]
print(even_list)#[424.0, 327.0, 416.0, 438.0]
print(sum(even_list))

wb.close()
app.quit()

运行结果如图:

参考文章:如何实现Python取出列表中奇数位的数字的具体操作步骤_mob649e815adb02的技术博客_51CTO博客

 


http://www.niftyadmin.cn/n/5171921.html

相关文章

2024最新fl studio 21.2.0.3842中文版完整下载

FL Studio 21.2.0.3842中文版完整下载是最好的音乐开发和制作软件也称为水果音乐软件。它是最受欢迎的工作室,因为它包含了一个主要的听觉工作场所。2024最新fl studioFL Studio 21版有不同的功能,如它包含图形和音乐音序器,帮助您使完美的配…

为什么大多数团队推行自动化测试最后却不了了之?

随着软件行业的快速发展,接口测试用例在软件开发中扮演着越来越重要的角色。自动化测试作为软件测试的一个重要分支,一般可以提高测试效率和质量,节约测试成本和时间,但是在实际推行过程中,大多数团队最终却难以持续实…

学习linux必不可少的【yum命令】!

📚📚 🏅我是默,一个在CSDN分享笔记的博主。📚📚 ​​ 🌟在这里,我要推荐给大家我的专栏《Linux》。🎯🎯 🚀无论你是编程小白,还是有一…

SDWAN(Software Defined Wide Area Network)概述与优势分析

文章目录 SDWAN简介SDWAN技术优势简化网络部署和维护安全传输灵活网络拓扑极致体验 SD-WAN关联技术STUNIPsec智能选路SaaS路径优化 典型组网多总部分支组网云管理组网 推荐阅读 SDWAN简介 SDWAN(Software Defined Wide Area Network,软件定义广域网&…

Yum配置、相关命令和常见问题

搭建光盘源 将系统盘读取出来,找到系统盘下存放软件包的目录 2.配置yun仓库 输入命令进入仓库编辑 #必须以.repo结尾 :wq 回车保存退出 3.命令行输入yum repolist 查看yum仓库 配置硬盘源 1.将硬盘源拷贝到目录,或者挂载到目录 2.指定repo文件baseu…

计算机中怎么依据字节数组找到对应的字符

问题引入 将中文字符“你”用UTF-8编码转成字节数组后,为什么是这样的三个数字? byte[] bytes "你".getBytes(StandardCharsets.UTF_8);for (byte t:bytes){System.out.println(t);} 打印的结果如下: -28 -67 -96 你有没有很好…

2023面试笔记四

1、gc导致的cpu冲高 排查是否为gc导致,看如下两点: gc频率和耗时 内存占用率 (1)gc频率和耗时有两种手段看: 第一种:根据gc日志的打印时间,可确定每次gc间隔的时间和耗时: 使用…

【数据结构】归并排序

#include<iostream>using namespace std;void Merge(int* arr,int left,int right,int mid, int*& tmparr) {int begin1 left, end1 mid;int begin2 mid 1, end2 right;int tmpi left;//下面合并两个数组为一个有序数组&#xff08;升序&#xff09;&#xff1…