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 报表,然后进行的透视表操作的更多相关文章

  1. Excel宏录制、数据透视表、合并多个页签

    前段时间做数据分析的时候,遇到很多报表文件需要处理,在此期间学习了很多Excel操作,特此做笔记回顾. Excel宏录制 打开开发者工具 打开Excel文件,选择”文件”-->“选项”--> ...

  2. hibernate学习笔记(6)组件属性以及单表操作

    组件属性:实体类中的某个属性属于用户自定义类的对象: 作用:将两个实体类合并在一起组建成一个表 在hbm.xml文件中配置: 格式: <component name="取的名字&quo ...

  3. 【技术分享:python 应用之一】如何使用 Python 对 Excel 做一份数据透视表

    客户这边,其中有一张如同上图所示的数据汇总表,然而需求是,需要将这张表数据做一个数据透视表,最后通过数据透视表中的数据,填写至系统数据库.拿到需求,首先就想到肯定不能直接用设计器去操作 Excel,通 ...

  4. 008杰信-创建购销合同Excel报表系列-1-建四张表

    本博客的内容来自于传智播客: 我们现在开始要做表格了,根据公司要求的表格的形式,来设计数据库.规划针对这个表格要设计几张表,每张表需要哪些字段. 根据公司原有的表格,设计数据库: 原有的表格

  5. VSTO学习笔记(十四)Excel数据透视表与PowerPivot

    原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...

  6. Excel透视表进阶之计算字段、计算项、切片器、页面布局

    计算字段 在透视表的字段列表中通过函数.公式等方式构建一个新的字段 又称虚拟字段,因为计算字段不会出现在数据源中,对于普通字段的操作,都可以对计算字段进行操作 计算字段只能出现在值区域,不能出现在筛选 ...

  7. 【转】关于C#使用Excel的数据透视表的例子

    收到消息,下星期又有导出 Excel 报表的代码要写.心想,不就是 OleDb 先 CREATE 表, 然后 INSERT 么?都是体力活啊...... 结果拿到纸张的报表,我就悲剧了.报表的结构,像 ...

  8. 我们无法找到服务器加载工作簿的数据模型"的 SharePoint 网站,当您刷新 Excel 2013 工作簿中的数据透视表时出错

    假定您使用 Analysis Services 源在 Microsoft Excel 2013 中创建数据透视表.将 Excel 工作簿上载到 Microsoft SharePoint 网站中.当您尝 ...

  9. C# 操作Excel数据透视表

    一.概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号.列标和页字段.当改变版面布置时,数据透视表也会按照新的 ...

  10. poi导出Excel报表多表头双层表头、合并单元格

    效果图: controller层方法: /**     *      * 导出Excel报表     * @param request     * @return     *      */    @ ...

随机推荐

  1. 【微信网页授权】SpringBoot+uniapp实现网页授权获取用户基本信息

    前言 缘由 起因于本狗上一个项目本打算采用微信公众号网页授权登录做用户鉴权,但最终因公众号是未认证的订阅号,无权限获取用户信息,所以改变思路,采用登录注册方式实现用户区分.但在开发中,学习了微信网页授 ...

  2. python爬取猫眼电影Top100榜单的信息

    爬取并写入MySQL中 import pymysql import requests from bs4 import BeautifulSoup headers = { 'User-Agent': ' ...

  3. 基于Vue 使用threejs导入gltf动画模型

    被老师要求学习这个完全不懂的领域的知识,代码东拼西凑终于搞定了,可能写的不好,但这方面的教程很少 某CS**平台的教程都是互相抄,看着烦死. <template> <div id=& ...

  4. 设置Mysql sort_buffer_size参数

    按照官网的解释:Each session that must perform a sort allocates a buffer of this size. sort_buffer_size is n ...

  5. Three.js 进阶之旅:全景漫游-初阶移动相机版

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 摘要 3D 全景技术可以实现日常生活中的很多功能需求,比如地图的街景全景模式.数 ...

  6. 鼎捷ERP二次开发教程 Tiptop GP开发资料大全 Tipto开发实战经验 鼎捷开发实战例子 Tiptop GP二次开发项目例子 4GL开发Demo 鼎捷二次开发完整例子 鼎捷ERP二次开发入门

    本人在ERP实施公司做顾问四五年,参与企业实施ERP十多个项目,非常熟悉企业ERP流程,在实施过程遇到众多问题,提出了不少根据企业具体情况的解决方案. 曾经参与鼎捷Tiptop GP实施十多个项目,具 ...

  7. 19.3 对FAT的支持(harib16c)

    19.3 对FAT的支持(harib16c) 问题:可以正确显示文件开头的512字节的内容,但大于512字节的部分不能正确显示(可能会显示其他文件). 问题本质:磁盘可能将大于512字节的文件离散的保 ...

  8. JVM的垃圾收集算法

    介绍分代收集理论和几种垃圾收集算法的思想及其发展过程. 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了 "分代收集"(Generational Collection)的理 ...

  9. [Linux]ln:软链接与硬链接

    1 硬链接与软链接的[语法] 软链接:ln -s 源文件 目标文件 硬链接:ln 源文件 目标文件 [-s : symbolic,符号/代号] 2 软链接/硬链接的[比喻] / (编辑)同步性 [ro ...

  10. LeeCode 713 乘积小于k的子数组

    LeeCode 713 题目描述: 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目. 标签: 双指针.滑动窗口 建立模型 枚举子数组的右端 ...