• Python合并Excel表格


    一、合并路径下所有后缀xlsx工作薄第一个表格内容

    import os
    import xlrd
    import pandas as pd
    
    #获取所有需要合并的工作簿路径,生成list
    def file_name(file_dir): 
        list=[]
        for file in os.listdir(file_dir):
            if os.path.splitext(file)[1] == '.xlsx': #选取后缀为xlsx的文件
                list.append(file)
        return list
    
    path = r'C:/Users/xx/Desktop'
    wks = file_name(path)
    
    data = []   #定义一个空list
    for i in range(len(wks)):
        read_xlsx = xlrd.open_workbook(path + '/' + wks[i])
        sheet1 = read_xlsx.sheets()[0] #查看sheet1的数据
        nrow =  sheet1.nrows
        for j in range(0,nrow): #逐行打印
            data.append(sheet1.row_values(j))
    
    content= pd.DataFrame(data)
    
    #写入文件
    #写入csv文件
    #content.to_csv(path+'\py_union.xlsx', sep=',', header=True, index=False)
    #写入excel文件
    content.to_excel(path+'\py_union.xlsx', header=False, index=False)
    合并工作簿

    二、合并单个工作簿的所有表格内容(包括合并单元格)

    import os
    import xlrd
    import pandas as pd
    
    
    data = []
    path = r'C:/Users/xx/Desktop/测试题_0716.xlsx'
    xlsx = xlrd.open_workbook(path)
    for i in xlsx.sheet_names():
        sheet = xlsx.sheet_by_name(i)
        nrow = sheet.nrows
        for j in range(0,nrow):
            data.append(sheet.row_values(j))
    
    content= pd.DataFrame(data)
    content.to_excel('C:/Users/xx/Desktop/py_union.xlsx', header=False, index=False)
    合并工作表
    import os
    import pands as pd
    
    
    df=pd.read_excel()
    sheet_name = ['detail' + str(i) for i in range(1,4)]
    data_all = pd.DataFrame()
    for i in sheet_name:
        data = pd.read_excel('',encoding='gbk',sheet_name=i,dtype={'id':str})
        data_all = pd.concat([data_all,data],axis=0,ignore_index=True)
    data_all.to_csv('csv',index=False,encoding='utf-8')
    pandas合并工作簿的工作表

     os.getcwd()获取当前路径 os.chdir('')修改当前路径

    三、对合并单元格的研究

    xlsx格式不支持xlrd的formatting=True

    xlsx = xlrd.open_workbook(path)

    table = xlsx.sheet_by_name(xlsx.sheet_names()[1])

    merge = table.merged_cells

    colspan={}

    for item in merge:
      colspan.update({(item[0],item[2]):table.cell_value(item[0],item[2])})

    简单将工作表内的合并单元格取出

    四、xlrd函数详解

    https://www.cnblogs.com/insane-Mr-Li/p/9092619.html

  • 相关阅读:
    SQL Server 使用全文索引进行页面搜索
    基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理
    HBase 数据库检索性能优化策略
    在oracle存储过程中创建暂时表
    永和维护---从问题中得到的一些感受
    spring set注入
    为计算机教育改革而摇旗呐喊
    hdu5288 OO’s Sequence 二分 多校联合第一场
    HTML5贪吃蛇源代码
    软工初体验
  • 原文地址:https://www.cnblogs.com/ybxw/p/13600643.html
Copyright © 2020-2023  润新知