我需要的是如何合并所有这些excel月份。
例如,所有七月文件必须位于July.xls
中的一个excel文件中,
ALl 9月文件应该在一个excel文件中september.xls
等。如何在任何正文帮助中执行此操作,如果这些文件超出excel的范围,则将其分成两个excel文件july_1,july_2。
我有多个Excel文件,如下所示这是输入的Excel文件
July_1_2017_00_23_59.xls
July_2_2017_00_23_59.xls
July_3_2017_00_23_59.xls
July_4_2017_00_23_59.xls
July_5_2017_00_23_59.xls
August_1_2017_00_23_59.xls
August_2_2017_00_23_59.xls
August_3_2017_00_23_59.xls
August_4_2017_00_23_59.xls
August_5_2017_00_23_59.xls
september_1_2017_00_23_59.xls
september_2_2017_00_23_59.xls
请帮我在python中执行此操作。
答案 0 :(得分:0)
首先,您可以按月对文件进行分组,以了解应合并的文件。如果您的文件具有您提到的格式,则可以使用defaultdict和split()快速完成。假设documents
包含您的文件列表:
from collections import defaultdict
months = defaultdict(list)
for document in documents:
month = document.split('_')[0]
months[month].append(document)
然后你所要做的就是遍历字典并读取excel文件并使用pandas连接它们。我还没有测试下面的代码,但它应该让你大致了解如何继续。
import pandas as pd
for month in months:
for i, document in enumerate(month):
if i == 0:
base_document = pd.read_excel(document)
else:
base_document = pd.concat([base_document, pd.read_excel(document)])
base_document.to_excel(month + '.xls')
关于处理"文件超出了excels"的范围,我不确定你的意思,你应该给我们更多细节。