【发布时间】:2020-05-23 03:11:43
【问题描述】:
下面是我用来合并所有 Excel 文件的代码。 CSV 完成得非常快,但是 excel 合并需要更长的时间。我所做的是将新的 excel 文件拖放到文件夹中,运行代码以输出单个更新的文件。但是,它开始需要更长的时间。我该怎么做才能让它只附加新删除的文件?
import os
import glob
import pandas as pd
os.chdir(r"myinputfolder")
extension = 'xlsx'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
combined_xlsx = pd.concat([pd.read_excel(f,'Download') for f in all_filenames ])
os.chdir(r"myoutputfolder")
combined_xlsx.to_excel( "combined_xlsx.xlsx", index=False, encoding='utf-8-sig')
【问题讨论】:
-
您是每次都连接所有文件,还是只是将最近的结果与最新的文件连接起来?
-
是的,我运行代码来连接文件夹中的所有文件。我希望脚本只连接/附加我每隔一天放入文件夹中的新文件。
-
你在别处也有这些文件,你能把它们从文件夹中删除吗?
-
抱歉我没关注?
-
我想如果我解释一下我的想法会更清楚:现在运行一次程序,连接您当前拥有的所有 Excel 文件。然后,将生成的文件(我们可以称之为 v1)添加到一个空文件夹中。下次将新文件添加到文件夹时,让脚本将其添加到 v1,创建文件 v2,然后删除 v1 和新文件,仅在文件夹中留下 v2。每次添加新文件时重复一次。
标签: python excel csv merge append