zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    HPE Proliant DL380 GEN10服务器配置iLO 5/RAID/安装系统
    centos7安装oracle 11g
    服务器 swap分区使用率高的原因分析及增加swap空间
    mongodb操作记录
    为我的理想和执着的梦想继续前进!
    解决办法-HTTP 错误 401.3 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
    淘金归来:论坛如何显示IP
    2009年牛起来~~~
    通过.NET访问 Oracle数据库
    电脑小技巧 玩转电脑!
  • 原文地址:https://www.cnblogs.com/ybxw/p/13600643.html
Copyright © 2011-2022 走看看