当前位置: 首页 > news >正文

python自动合计各部周销

下载依赖

pip install openpyxl -i https://pypi.doubanio.com/simple
pip install pandas -i https://pypi.doubanio.com/simple

引入依赖

from openpyxl import load_workbook
from openpyxl import styles
from openpyxl.styles import *
import pandas as pd
import string

数据读入

	filePath1 = './src/超级原始数据精修.xlsx'# 加载工作簿wb = load_workbook(filePath1)# 获取sheet页,修改第一个sheet页面为name1 = wb.sheetnames[0]ws1 = wb[name1]ws1.title = "销售明细"#销售明细df0 = pd.read_excel(filePath1, sheet_name='销售明细')

计算每周数据,并添加新列

获取表头字符串

# 获取列名
#column_names = df.columns
column_names_list = df0.columns.values
#获取列长度
col_num = len(column_names_list)

指定列求和

使用iloc选择要求和的列:

df['sum'] = code_table_data.iloc[:,3:6].sum(axis=1)

完整代码

from openpyxl import load_workbook
from openpyxl import styles
from openpyxl.styles import *
import pandas as pd
import string
# Press the green button in the gutter to run the script.
if __name__ == '__main__':filePath1 = './src/超级原始数据.xlsx'filePath2 = './src/数据精修.xlsx'# 加载工作簿wb = load_workbook(filePath1)# 获取sheet页,修改第一个sheet页面为name1 = wb.sheetnames[0]ws1 = wb[name1]ws1.title = "销售明细"wb.save(filePath1);# 销售明细df0 = pd.read_excel(filePath1, sheet_name='销售明细')column_names_list = df0.columns.valuescol_num = len(column_names_list)for k in range(0, int(col_num/7)):start_pos = k*7+1end_pos = k*7+7col_name = column_names_list[start_pos] +"到"+ column_names_list[end_pos]df0[col_name] = df0.iloc[:, start_pos:end_pos+1].sum(axis=1)# 将生成的工作表导入到程序中for k in range(1,len(column_names_list)):name=column_names_list[k]df0.pop(name)result_sheet = pd.ExcelWriter(filePath2, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空df0.to_excel(result_sheet, "销售明细", index=False, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet.save()print(column_names_list)
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
http://www.lryc.cn/news/269833.html

相关文章:

  • Java内存区域与内存溢出异常
  • 远程网络唤醒家庭主机(openwrt设置)
  • Spring知识02
  • Linux服务器搭建笔记-006:拓展/home目录容量
  • 元宇宙与VR虚拟现实的未来如何?
  • 微服务事务处理:CAP 定理和最终一致性的关系
  • 【Linux操作系统】探秘Linux奥秘:操作系统的入门与实战
  • Copilot概述:AI助手引领编程新纪元
  • 最小覆盖子串(LeetCode 76)
  • Windows Sockets 2 笔记
  • 13章总结
  • (2023,3D NeRF,无图像变分分数蒸馏,单步扩散)SwiftBrush:具有变分分数蒸馏的一步文本到图像扩散模型
  • 【WPF.NET开发】将路由事件标记为已处理和类处理
  • 2023年03月18日_微软office365 copilot相关介绍
  • GBASE南大通用携手宇信科技打造“一表通”全链路解决方案
  • Python 内置高阶函数练习(Leetcode500.键盘行)
  • 【JavaWeb】day01-HTMLCSS
  • 【工具】windeployqt 在windows + vscode环境下打包
  • 跟着LearnOpenGL学习12--光照贴图
  • DotNet 命令行开发
  • hyperf console 执行
  • 第一篇 设计模式引论 - 探索软件设计的智慧结晶
  • HBase基础知识(六):HBase 对接 Hive
  • Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error
  • Mixtral 8*7B + Excel + Python 超强组合玩转数据分析
  • 深入浅出理解Web认证:Session、Cookie与Token
  • 智慧零售技术探秘:关键技术与开源资源,助力智能化零售革新
  • 2012年第一届数学建模国际赛小美赛B题大规模灭绝尚未到来解题全过程文档及程序
  • macos管理本地golang的多版本sdk
  • count distinct在spark中的运行机制