如何使用Python在两个不同的工作簿中合并两个同名文件

2024-09-25 02:26:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

第1页 第2页 P3等

但是文件中的数据不一样。path2中的文件有多个数据表,path1中的文件只有一个数据表。你知道吗

如何设置一个python循环来遍历这两个路径,并基于匹配的文件名,将path1中的工作表添加到path2中的文件中?

目前,我没有任何代码设置。你知道吗


Tags: 文件数据代码路径名称文件名excelusers
1条回答
网友
1楼 · 发布于 2024-09-25 02:26:15

我不知道你说的“添加工作表”到底是什么意思(如果是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()

相关问题 更多 >