• 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中的孤立用户
    BWOA开源项目引子
    海边拾贝
    ABAP syntax_error 错误: form send_cmplx_data_015 does not exist.
    一点总结,手机应用开发前景
    这个周末发生了很多事
    品味单反
    远图(FarMap)使用
    And和手机随想
    远图(FarMap)花絮
  • 原文地址:https://www.cnblogs.com/ybxw/p/13600643.html
Copyright © 2020-2023  润新知