pyhton 自动化进阶学习1 合并excel 报表,然后进行的透视表操作
import xlrd
import xlsxwriter
import os
import pandas as pd
import numpy as np
# 对合并报表进行透视
# 待续
# 获取文件夹所有文件
def look_file(PATH):
file=os.listdir(PATH) #
for i in file:
ret=os.path.join(PATH,i)
if os.path.isfile(ret):
all_file.append(ret)
return all_file
# 打开一个文件
def open_xls(file):
f=xlrd.open_workbook(file)
return f
# 获取excel 中所有的sheet
def get_sheet(f):
return f.sheets()
#获取sheet表的行数
def get_Allrows(f,sheet):
table=f.sheets()[sheet]
return table.nrows
#读取文件内容并返回行内容
def getfile(file,shnum):
f=open_xls(file)
table=f.sheets()[shnum]
# 获取sheet文件的行数,并按行依次读取数据添加到列表中,最后返回列表
num=table.nrows
for row in range(num):
rdata=table.row_values(row)
datavalue.append(rdata)
return datavalue
#获取sheet表的个数
def getshnum(f):
x=0
sh=get_sheet(f)
for sheet in sh:
x+=1
return x
# 非excel文件格式转换
def file_chage(allxls):
for i in allxls:
pass
#函数入口
if __name__=='__main__':
#读取指定文件下的所有文件
PATH=r'D:\合并'
all_file=[]
allxls=look_file(PATH)
#存储所有读取的结果
datavalue=[]
for f1 in allxls:
f=open_xls(f1)
#获取Excel有多少sheet 文件
x=getshnum(f)
for shnum in range(x):
print("正在读取文件:"+str(f1)+"的第"+str(shnum)+"个sheet表的内容...")
rvalue=getfile(f1,shnum)
#定义最终合并后生成的新文件
endfile=os.path.join(PATH,'合并.xls')
wb=xlsxwriter.Workbook(endfile)
#创建一个sheet工作对象
ws=wb.add_worksheet()
for a in range(len(rvalue)):
for b in range(len(rvalue[a])):
c=rvalue[a][b]
ws.write(a,b,c)
wb.close()
print("文件合并完成")
# 对文件进行透视表操作
pyhton 自动化进阶学习1 合并excel 报表,然后进行的透视表操作的更多相关文章
- Excel宏录制、数据透视表、合并多个页签
前段时间做数据分析的时候,遇到很多报表文件需要处理,在此期间学习了很多Excel操作,特此做笔记回顾. Excel宏录制 打开开发者工具 打开Excel文件,选择”文件”-->“选项”--> ...
- hibernate学习笔记(6)组件属性以及单表操作
组件属性:实体类中的某个属性属于用户自定义类的对象: 作用:将两个实体类合并在一起组建成一个表 在hbm.xml文件中配置: 格式: <component name="取的名字&quo ...
- 【技术分享:python 应用之一】如何使用 Python 对 Excel 做一份数据透视表
客户这边,其中有一张如同上图所示的数据汇总表,然而需求是,需要将这张表数据做一个数据透视表,最后通过数据透视表中的数据,填写至系统数据库.拿到需求,首先就想到肯定不能直接用设计器去操作 Excel,通 ...
- 008杰信-创建购销合同Excel报表系列-1-建四张表
本博客的内容来自于传智播客: 我们现在开始要做表格了,根据公司要求的表格的形式,来设计数据库.规划针对这个表格要设计几张表,每张表需要哪些字段. 根据公司原有的表格,设计数据库: 原有的表格
- VSTO学习笔记(十四)Excel数据透视表与PowerPivot
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...
- Excel透视表进阶之计算字段、计算项、切片器、页面布局
计算字段 在透视表的字段列表中通过函数.公式等方式构建一个新的字段 又称虚拟字段,因为计算字段不会出现在数据源中,对于普通字段的操作,都可以对计算字段进行操作 计算字段只能出现在值区域,不能出现在筛选 ...
- 【转】关于C#使用Excel的数据透视表的例子
收到消息,下星期又有导出 Excel 报表的代码要写.心想,不就是 OleDb 先 CREATE 表, 然后 INSERT 么?都是体力活啊...... 结果拿到纸张的报表,我就悲剧了.报表的结构,像 ...
- 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错
假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...
- C# 操作Excel数据透视表
一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
随机推荐
- SpringBoot 整合Quartz 定时任务框架
更多内容,前往 IT-BLOG 一.Scheduled 定时任务 [1]添加 Scheduled相关依赖,它是 Spring自带的一个 jar包因此引入 Spring的依赖: 1 <depend ...
- sort和sorted区别----引子:多维列表,如何实现第一个元素升序,第二个元素降序
一.列表内建方法--sort() 作用:就地对列表排序(直接在原列表上做排序) 语法: list.sort(func=None, key=None, reverse=False) 当reverse=F ...
- freeswitch媒体协商的优先级方案
概述 freeswitch是一款简单好用的VOIP开源软交换平台. 不同的媒体格式各有优缺点,实际环境中的应用要根据线路和客户的实际需求确定. 本文中介绍一种较为通用的媒体配置方案,可以适配大部分场景 ...
- Install Ansible on CentOS 8
环境准备: 1.至少俩台linux主机,一台是控制节点,一台是受控节点 2.控制节点和受控节点都需要安装Python36 3.控制节点需要安装ansible 4.控制节点需要获得受控节点的普通用户或r ...
- Mybatis 获取自增主键 useGeneratedKeys与keyProperty 解答
Mybatis 获取自增主键 今天开发的时候遇到一个疑惑,业务场景是这样的, 但是百度好久没有找到合适的解答,于是自己向同事了解,感觉还不错,因此写上了这个文章 有一个表A和一个表B A就是一个主表, ...
- Python中,类的特殊方法与内置函数的关联
目录 Python类 Python类的设计原则 特殊方法[Special methods] Duck typing 内置函数 English Version The key design princi ...
- xtrabackup+MySQL8全备+增备脚本
问题描述:运用xtrabackup进行mysql全备,mysql8之前使用的是innodbxtrabackup,mysql8之后开始使用xtrabackup,innobackupex把功能都集成到xt ...
- 部署:keepalived-1.3.5+MHA部署mysql集群
MHA: MHA工作原理总结为以下几条: 从宕机崩溃的master保存二进制日志事件(binlog events): 识别含有最新更新的slave: 应用差异的中继日志(relay log)到其他sl ...
- 【谷粒商城】(二)SpringCloudAlibaba分布式组件
微服务 分布式组件 注册中心:每一个微服务上线都应该注册到注册中心.这样做的好处在于方便微服务之间的相互调用,比如订单服务想要调用商品服务,就可以通过注册中心查看有哪几台主机的商品服务进行了注册,然后 ...
- SSH: Linux开启ssh并启动root登录设置默认密码
apt update && apt install -y openssh-server echo "PermitRootLogin yes" >> /e ...