精华内容
下载资源
问答
  • python合并多个excel文件
    千次阅读
    2022-05-26 13:52:38

    适用场景

    当你有多个列名一致的excel文件的时候,你想要把多个excel文件合并成一个excel文件

    Python代码实现

    1. 首先导入需要的库
    import pandas as pd
    import os
    
    1. 将所有需要合并的excel放进一个单独的文件夹里
    2. 定义一个函数
    def append(path): #path:所有需要合并的excel文件所在的文件夹
        filename_excel = [] # 建立一个空list,用于储存所有需要合并的excel名称
        frames = [] # 建立一个空list,用于储存dataframe
        for root, dirs, files in os.walk(path):
            for file in files:
            	file_with_path = os.path.join(root, file) 
                filename_excel.append(file_with_path)
                df = pd.read_excel(file_with_path, engine='openpyxl')
                frames.append(df)
        df = pd.concat(frames, axis=0)
        return df
    

    一些说明

    1. 上面的代码中root是就是当前文件夹的所有路径
    2. files是一个list, 包含文件夹中所有excel的名称
    3. os.path.join(root, file)就是合并文件夹的路径和文件名称,这样后面的pd.read_excel()就能读取excel文件

    tips

    也可以不定义函数直接用:

    filename_excel = [] 
    frames = [] 
    for root, dirs, files in os.walk(path):
        for file in files:
            file_with_path = os.path.join(root, file) 
            filename_excel.append(file_with_path)
            df = pd.read_excel(file_with_path, engine='openpyxl')
            frames.append(df)
    df = pd.concat(frames, axis=0)
    df.to_excel("合并的excel.xlsx")
    

    特殊情况

    如果excel的文件名包括日期,且需要写到最后汇总的excel中

    def append(path): 
        filename_excel = []
        frames = [] 
        for root, dirs, files in os.walk(path):
            for file in files:
            	file_with_path = os.path.join(root, file) 
                filename_excel.append(file_with_path)
                df = pd.read_excel(file_with_path, engine='openpyxl')
                # 将文件名中包含的日期信息写入dataframe
                df["日期"] = pd.to_datetime(file.strip('.xls')[-1:])#日期在什么位置需要自己调整
                frames.append(df)
        df = pd.concat(frames, axis=0)
        return df
    
    

    如果将多个excel合并到一个excel中,sheet命名为excel的名字

    def combine(path):
        with pd.ExcelWriter("合并的excel.xlsx") as writer:
            for root, dirs, files in os.walk(path):
                for file in files:
                    filename = os.path.join(root, file)
                    df = pd.read_excel(filename, engine='openpyxl')
                    df.to_excel(writer, sheet_name=file.strip('.xls')) #删除文件名的后缀,有时候是.csv/.xlsx
            return df
    
    更多相关内容
  • 主要为大家详细介绍了Python将多个excel文件合并为一个文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了使用python将多个excel文件合并到同一个文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 工作中经常遇到要十几个Excel(不管是xls、或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通过list的append加在一起...
  • dir = input("请输入待合并文件的路径:\n") #设置工作路径 frames = [] #存放导入的文件 for root, dirs,files in os.walk(dir): #返回一三元组root是遍历的文件夹, # dirs是root下的所有目录,files是root下的...
  • Python批量合并多个excel文件

    千次阅读 2022-04-16 13:28:21
    Python批量合并多个excel文件 1.首先准备数据文件 我这里本来只有一个csv文件,我就把它复制了两份改了一下名字 下面是我最近毕设机械臂抓取任务的交互数据,第一列是reward,第二列是长度,第三列是时间 2.编写...

    1.首先准备数据文件

    我这里本来只有一个csv文件,我就把它复制了两份改了一下名字

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GDL0p9pS-1650086883990)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416125908336.png)]

    下面是我最近毕设机械臂抓取任务的交互数据,第一列是reward,第二列是长度,第三列是时间

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FsBjQPfi-1650086883991)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416131732385.png)]

    2.编写合并文件代码

    在数据目录下新建一个merge files.py文件并写入以下代码

    import pandas as pd
    import os
    
    data_list = []
    
    for fname in os.listdir("."):
        if fname.startswith("monitor") and fname.endswith(".csv"):
            data_list.append(pd.read_csv(fname))
    
    data_all = pd.concat(data_list)
    data_all.to_csv("monitor.csv", index=False)
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYi1uRgP-1650086883991)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416131317366.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wD3Pqu07-1650086883992)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416131620515.png)]

    到此就结束了

    但是to_csv函数中index=False是什么意思,如果是True呢

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U0TOFvvA-1650086883992)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416132445912.png)]

    源码中解释是指是否写入行名

    我们试试如果设置为True

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oowuUWju-1650086883993)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220416132634048.png)]

    可以发现原来就是比之前多了一列索引值,原来是这样hh

    展开全文
  • 主要为大家详细介绍了Python将多个excel表格合并为一个表格的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 合并多个excel表格,支持界面操作,操作简单,可浏览文件夹及选择表头行数 使用python实现,界面实现采用wxpython,支持不同格式的表格,需安装anaconda3.5及对应头文件,应用程序较大无法上传,如果需要可以联系...
  • 利用Python将多个excel文件合并为一个文件

    万次阅读 多人点赞 2018-06-01 17:51:17
    # -*- coding: utf-8 -*-#导入需要使用的包import xlrd #读取Excel文件的包import xlsxwriter #文件写入Excel的包#打开一个excel文件def open_xls(file): f = xlrd.open_workbook(file) return f#获取excel中...

    # -*- coding: utf-8 -*-


    #导入需要使用的包
    import xlrd  #读取Excel文件的包
    import xlsxwriter   #将文件写入Excel的包




    #打开一个excel文件
    def open_xls(file):
        f = xlrd.open_workbook(file)
        return f


    #获取excel中所有的sheet表
    def getsheet(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]
        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=getsheet(f)
        for sheet in sh:
            x+=1
        return x






    #函数入口
    if __name__=='__main__':
        #定义要合并的excel文件列表
        allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx'] #列表中的为要读取文件的路径
        #存储所有读取的结果
        datavalue=[]
        for fl in allxls:
            f=open_xls(fl)
            x=getshnum(f)
            for shnum in range(x):
                print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
                rvalue=getFilect(fl,shnum)
        #定义最终合并后生成的新文件
        endfile='F:/test/excel3.xlsx'
        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)
        wb1.close()

        print("文件合并完成")


    源文件excel1:

    这里写图片描述这里写图片描述

    源文件excel2: 
    这里写图片描述这里写图片描述 
    这里写图片描述

    运行结果:

    这里写图片描述

    合并后的excel3: 
    这里写图片描述


    展开全文
  • 通常,我们正在使用 Excel 文件,并且我们肯定遇到过需要将多个 Excel 文件合并为一个的场景。传统方法一直是在 excel 中使用 VBA 代码来完成这项工作,但这是一个多步骤的过程,并不那么容易理解。另一种方法是手动...

    通常,我们正在使用 Excel 文件,并且我们肯定遇到过需要将多个 Excel 文件合并为一个的场景。传统方法一直是在 excel 中使用 VBA 代码来完成这项工作,但这是一个多步骤的过程,并不那么容易理解。另一种方法是手动将较长的 Excel 文件复制到其中,这不仅耗时、麻烦而且容易出错。

    首先请安装Python

    请到下面地址下载python安装包,并根据自己操作系统版本下载对应的安装包

    https://www.python.org/downloads
    

    一路next后,别忘配置路径

    请添加图片描述

    请添加图片描述

    请添加图片描述
    下面三个地址都要添加path

    C:\Users\Administrator\AppData\Local\Programs\Python\Python310\
    C:\Users\Administrator\AppData\Local\Programs\Python\Python310\DLLs\
    C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\
    C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Scripts\
    
    <
    展开全文
  • 利用Python合并excel文件,思路很简单:1.选择所要合并的文件所在的文件夹;2.筛选出后缀为xls的文件;3.扫描所有excel文件的每一sheet,得到的数据存在list列表中;4.所有sheet的数据写到当前文件夹中,并...
  • 主要为大家详细介绍了Python将一个Excel拆分为多个Excel,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了使用 Python 合并多个格式一致的 Excel 文件,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 由于工作需要,客户需要将多个excel文件合并成一个excel中,由于本身的软件没有此功能,于是就想着临时的解决办法,之前也没有接触过python。于是上网查找,大概学了一下,并实现了该功能,在这里总结一下,分享出来...
  • 例用python将多个excel文件中的多个sheet表合并到一个表内
  • Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格。想获取代码文件,请微信关注微信公众号“闲谈项目管理”,对话框回复“数据分析案例2”即可获得文件下载链接。
  • 利用Python将多个excel文件合并为一个文件思路利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的excel文件中。完整代码# -*- coding: utf-8 -*-#将多个Excel...
  • 如果在excel文件表比较少时,手工合并还可以应付,当几十几百甚至更的表时,那就得用快捷方法了。 完整代码: import pandas as pd import os import openpyxl #文件路径 file_dir = r'/old_file' #构建新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,745
精华内容 25,098
关键字:

python合并多个excel文件