如何使用Python在2个不同的工作簿中合并具有相同名称的2个文件

时间:2019-04-29 16:22:20

标签: python directory filenames

我有两个文件路径,C:\ users \ path1和C:\ users \ path2。每个路径具有相同的10个具有相同名称的excel文件。例如,每个路径都有以下文件:

P1 P2 P3等

但是文件中的数据不相同。 path2中的文件包含多页数据,而path1中的文件仅包含一页数据。

我如何设置一条通过两个路径的python循环,并根据匹配的文件名,将路径1中的工作表添加到路径2中的文件中?

当前,我没有任何代码设置。

1 个答案:

答案 0 :(得分:0)

我不确定您添加表的确切含义(如果是Word文档或您将需要其他更特殊的东西),但是如果只是数据,这很好。无论哪种方式,这对您来说都是一个很好的起点:

import pandas as pd
from pandas import ExcelWriter
import os

d1 = "asset\\path1"
d2 = "asset\\path2"

output_dir = "asset\\path3"

for fname in os.listdir(d1):
    sheets = []
    i = 0
    while True:
        try:
            sheets.append(pd.read_excel(os.path.join(d1, fname),sheet_name=i,encoding='sys.getfilesystemencoding()'))
        except IndexError:
            break
        except Exception as e:
            raise e
        i+=1
    sheets.append(pd.read_excel(os.path.join(d2, fname),sheet_name=0,encoding='sys.getfilesystemencoding()'))

    with ExcelWriter(os.path.join(output_dir,fname)) as writer:
        for n, df in enumerate(sheets):
            df.to_excel(writer,'sheet%s' % n, index = False, header=False)
        writer.save()