李涛自留地
回到顶部
首页 > 应用 > 如何合并两个以上的excel表格内容 如何批量合并excel文件至一个表?

如何合并两个以上的excel表格内容 如何批量合并excel文件至一个表?

文章目录

在6月份的时候因为要整理大量的网站关键词,但是下载了不少关键词的Excel表格,如果将多个Excel表格打开然后再复制粘贴,工作量非常大,也十分浪费时间,所以当时就研究了一下写了一篇《多个Excel表格如何合并为一个表格?如何批量将多个Excel表格合并到一起?》一文,可是在8月份的时候,在另外一个站长工具里下载了一些关键词的表格再使用前文中的方法就失效了,后来又在Python下批量合并Excel文件至一个表。下面是笔者分享的两种如何合并两个以上的Excel表格内容,如何批量合并Excel文件至一个表?

一、使用Dos命令批量合并两个以上的Excel表格内容

具体批量合并excel表格内容的方法可以参考笔者所写的《多个Excel表格如何合并为一个表格?如何批量将多个Excel表格合并到一起?》一文。

Dos命令:

copy "文件路径*.csv" "文件路径\最后合并的excel名字.csv"

注意事项:1、Excel表格内容中的列数一定要一样多,如果列数不一致,可能会导致合并失败。2、多个Excel表格文件的后缀类型一定要一致,如果有的是Xls,有的是Xlsx,有的是Csv后缀的,也会导致合并失败。

二、Python批量合并Excel文件至一个表

需要安装Python环境,在Python中运行代码批量合并Excel文件至一个表。在8月份的实际工作中,我需要将多个xlsx后缀的Excel文件批量合并至一个表中,然后再取出某一列的数据,当时首先使用的是Dos命令的方法,但是失败了。以下是合并后的示图:

如何合并两个以上的excel表格内容 如何批量合并excel文件至一个表?

1.xls和2.xls是没有合并的两个Excel文件,3.xls是合并后的Excel文件,明显可以看出合并后的3.xls的大小比1.xls和2.xls都要小,这是不符合逻辑的,随机打开了一个xls表格,发现提示没有编辑权限,这可能是使用Dos命令批量合并失败的原因。后来参考了一些Python中批量合并Excel文件至一个表的实例代码,终于成功将多个xls后缀的Excel文件批量合并到一个Excel表格中。以下是Python批量合并Excel文件至一个表的实例代码,亲测可用:

import pandas as pd
import os

path = r'C:\\Users\\xxxx\\Desktop\\ce\\'
outfile = r'C:\\Users\\xxxx\\Desktop\\ce\\out.xls'

def collect(path):
    '''
    合并函数
    input(str(path))   : 输入 xlsx 文件所在的路径
    output(DataFrame)  : 输出合并后的 DataFrame
    '''
    files = os.listdir(path)# 获取路径下的文件列表
    datas = pd.DataFrame()
    for i in range(len(files)):
        xlsx = pd.ExcelFile(path + '\\' + files[i])
        data = pd.read_excel(xlsx)
        # 追加文件路径到最后一列
        froms = []
        for j in range(len(data)):
            froms.append(files[i])
        data.insert(len(data.columns), 'Froms', froms)
        datas = datas.append(data)
        print('-----> ' + files[i])
    return(datas)

data = collect(path)

# 写入到文件
data.to_csv(outfile, index=False, encoding='utf_8_sig')

使用说明:

1、需要安装pandas库,否则会报错,如果报错就按照报错的信息提示,缺少什么安装什么就OK。

2、path中的路径是需要批量合并Excel文件的文件夹路径。

3、outfile中的路径是最后批量合并Excel文件的Excel表格,可以自己自定义一个表格名称,但是最后的后缀一定要和批量合并Excel文件的后缀一致。

4、path和outfile中的文件路径需要加\进行转义。

以上就是笔者分享的两种如何合并两个以上的Excel表格内容,如何批量合并Excel文件至一个表?如果只是简单的将某同样后缀的Excel表格内容合并到一个Excel表格中,使用Dos命令就好了,第二种方法对于小白来说还是有点难度。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。