如何在不同文件夹中合并2个具有相同名称的Excel文件?

时间:2019-11-19 03:02:29

标签: python

   from collections import defaultdict
from glob import glob
from itertools import chain, groupby
import pandas as pd
from pandas import ExcelWriter
from pathlib import Path
from pprint import pprint, pformat
from textwrap import indent
import os
import os.path
ca_2015= "D:\master concordia\DYD\Ecobee DYD\canada\Canada 2015"
ca_2016= "D:\master concordia\DYD\Ecobee DYD\canada\Canada 2016"
ca_2017= "D:\master concordia\DYD\Ecobee DYD\canada\Canada 2017"
ca_2018= "D:\master concordia\DYD\Ecobee DYD\canada\Canada 2018"
ca_2019= "D:\master concordia\DYD\Ecobee DYD\canada\Canada 2019"
files_2015 = os.listdir(ca_2015)
files_2016 = os.listdir(ca_2016)
files_2017 = os.listdir(ca_2017)
files_2018 = os.listdir(ca_2018)
files_2019 = os.listdir(ca_2019)
df_total= pd.DataFrame()

i=0
for file in files_2017:
    os.chdir("D:\master concordia\DYD\Ecobee DYD\canada\Canada 2017")
    if file in files_2018 and file in files_2019:
        df_file= pd.read_csv(file)
        df_total= pd.concat([df_file], ignore_index=True)
        for f in files_2018:
            os.chdir("D:\master concordia\DYD\Ecobee DYD\canada\Canada 2018")
            if f in files_2017 and f in files_2019:
                df_f= pd.read_csv(f)
                df_total= pd.concat([df_f], ignore_index=True)
                for ffile in files_2019:
                    os.chdir("D:\master concordia\DYD\Ecobee DYD\canada\Canada 2019")
                    if ffile in files_2017 and f in files_2018:
                        df_ffile= pd.read_csv(ffile)
                        df_total= pd.concat([df_ffile], ignore_index=True)
                        df_total.to_csv(("thermostat"+str(i)+".csv"),(output_folder))
                        i +=1

我正在尝试编写代码以合并5个具有相同名称但在不同文件夹中的excel文件,这是我到目前为止的问题,因为它只读取第一个文件,有人可以告诉我如何修复它吗?

0 个答案:

没有答案