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("文件合并完成")
    # 对文件进行透视表操作
  • 相关阅读:
    replace和translate的用法
    java中静态方法和静态类的学习
    rank()函数的使用
    orcle函数的使用,及其调用
    父子级菜单的查询
    Centos7 安装K8S 小记
    三剑客之三 Awk小记
    三剑客之二 Sed小记
    三剑客之一 Grep小记
    ssh与telnet区别 小记
  • 原文地址:https://www.cnblogs.com/pushuiyu/p/13176878.html
Copyright © 2011-2022 走看看