我有两个文件路径,C:\ users \ path1和C:\ users \ path2。每个路径具有相同的10个具有相同名称的excel文件。例如,每个路径都有以下文件:
P1 P2 P3等
但是文件中的数据不相同。 path2中的文件包含多页数据,而path1中的文件仅包含一页数据。
我如何设置一条通过两个路径的python循环,并根据匹配的文件名,将路径1中的工作表添加到路径2中的文件中?
当前,我没有任何代码设置。
答案 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()