zoukankan      html  css  js  c++  java
  • 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("文件合并完成")
    # 对文件进行透视表操作
  • 相关阅读:
    IDEA使用总结1-Github下载代码和上传代码到Git
    Mysql-安装指南
    Dubbo安装及其实战1
    分布式设计(学习内容目录--后端架构师)
    elasticsearch安装指导(new)
    浅谈TCP/IP(new 常见面试问题)
    浅谈常用的设计模式(new)
    浅谈Elasicsearch
    浅谈数据库分库分表(new)
    JAVA 电子书下载地址
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/13176878.html
Copyright © 2011-2022 走看看