如何使用Python合并一个文件夹及其子文件夹中的多个Excel文件

时间:2018-09-04 06:14:29

标签: python

我在给定的文件夹及其子文件夹中有多个Excel表单。全部具有相同的文件名字符串,后缀为日期和时间。如何将它们全部合并到一个文件中,同时使工作表名称和标题成为附加数据框的索引。通常,每个子文件夹中有200个小文件,每个文件约100个文件,子文件夹中则有20 MB的文件,每个文件约10 MB。

4 个答案:

答案 0 :(得分:1)

This may help you to merge all the xlsx file in current directory.

import glob
import os
import pandas as pd

output = pd.DataFrame()
for file in glob.glob(os.getcwd()+"\\*.xlsx"):
    cn = pd.read_excel(file)
    output = output.append(cn)
output.to_csv(os.getcwd()+"\\outPut.csv", index = False, na_rep = "NA", header=None)
print("Completed +::" )


Note : you need xlrd-1.1.0 library along with pandas to read xlsx files.

答案 1 :(得分:0)

我尝试使用静态文件名定义进行操作,如果它通过从动态文件列表选择中的列标题进行安慰(以.xls *(xls / xlsx / xlsb / xlsm)和.csv和.txt开头的形式进行安慰,那会很好

将熊猫作为pd导入

db = pd.read_excel(“ / data / Sites / Cluster1 0815.xlsx”)

db1 = pd.read_excel(“ / data / Sites / Cluster2 0815.xlsx”)

db2 = read_excel(“ / data / Sites / Cluster3 0815.xlsx”)

sdb = db.append(db1)

sdb = sdb.append(db2)

sdb.to_csv(“ / data / Sites / sites db.csv”,索引= False,na_​​rep =“ NA”,标头=无)

答案 2 :(得分:0)

发现动态文件列表合并具有以下输出。但是,必须依靠处理时间...

[Merge excel files to CSV 2 million records

Merge excel files bulk gur.com/QKTKw.jpg

答案 3 :(得分:0)

在批处理文件上运行时,附加的以下错误代码(请注意,这些文件在传输的信息中是不对称的)很容易:

enter image description here