• 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("文件合并完成")
    # 对文件进行透视表操作
  • 相关阅读:
    hexo博客安装教程
    MySQL 索引
    linux笔记
    Matab:plot图形操作
    Verilog--DC
    Verilog--二进制编码到格雷码的转换
    Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).
    电源设计
    蓝牙通信
    quartus II的USB Blaster驱动器安装
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/13176878.html
Copyright © 2020-2023  润新知