我有两个文件夹。文件夹1中的文件如下所示:
Year Pressure
1995 1.2
1996 2.7
1997 3.1
1998 5.6
文件夹2中的文件如下所示:
Year NDVI
1995 1.0
1995 2.8
1995 0.2
1996 1.2
1996 0.9
1997 6.7
1997 5.7
1998 3.4
1998 1.2
每个文件夹中有53个文件。我想根据文件顺序合并它们(它们确实都有相应的名称,但它们的顺序是相同的)
到目前为止,我使用的是:
import pandas as pd
import os
#path to folder 1
pth1=(r'D:\Sheyenne\Grazing_Regressions\NDVI\grazing')
#path to folder 2
pth2=(r'D:\Sheyenne\Grazing_Regressions\NDVI\NDVI')
#output pathway
outfile=(r'D:\Sheyenne\Grazing_Regressions\NDVI\final_merge')
for f in os.listdir(pth1):
df = pd.read_csv(os.path.join(pth1, f))
for f2 in os.listdir(pth2):
df2=pd.read_csv(os.path.join(pth2, f2))
outpath=os.path.join(outfile, f2)
finalmerge=pd.merge(df,df2, left_on='Year', right_on='Year', how='right')
finalmerge.to_csv(outpath)
但它只是将pth1
中的最后一个文件合并到pth2
中的所有文件
我对
pandas
不太熟悉,但是如果文件的结构顺序相同,您可以通过使用csv
内置包写入新文件来实现这一点。像这样的您可以使用单个循环来保持简单,如下所示:
相关问题 更多 >
编程相关推荐