Python 将第一个文件加载到两个文件夹中,并将它们合并到一个文件夹中

Python 将第一个文件加载到两个文件夹中,并将它们合并到一个文件夹中,python,pandas,csv,Python,Pandas,Csv,我有两个不同的文件夹/目录: C:/PartA/... C:/PartB/... 有些文件的排序很好,这意味着a部分中的第一个文件与B部分中的文件相匹配,我如何在文件夹上循环并始终搜索匹配的文件 示例(文件夹中包含文件): 我想说: file1 = pd.concat(['Test1', 'Outcome0'], axis=1) file2 = pd.concat(['Test2', 'outcome1'], axis=1) 有什么想法可以循环使用吗?首先使用以下方法创建文件名列表: imp

我有两个不同的文件夹/目录:

C:/PartA/...
C:/PartB/...
有些文件的排序很好,这意味着a部分中的第一个文件与B部分中的文件相匹配,我如何在文件夹上循环并始终搜索匹配的文件

示例(文件夹中包含文件):

我想说:

file1 = pd.concat(['Test1', 'Outcome0'], axis=1)
file2 = pd.concat(['Test2', 'outcome1'], axis=1)

有什么想法可以循环使用吗?

首先使用以下方法创建文件名列表:

import os, glob
f1_files = glob.glob(first_folder + os.sep + "*.*")
f2_files = glob.glob(second_folder + os.sep + "*.*")
然后使用一个简单的循环:

all_files = []
for i in range(len(f1_files)):
    all_files.append(pd.concat([f1_files[i], f2_files[i]], axis=1))

循环之后,在
中,所有的\u文件都应该是一个包含所有相关数据帧的列表。

首先使用以下方法创建文件名列表:

import os, glob
f1_files = glob.glob(first_folder + os.sep + "*.*")
f2_files = glob.glob(second_folder + os.sep + "*.*")
然后使用一个简单的循环:

all_files = []
for i in range(len(f1_files)):
    all_files.append(pd.concat([f1_files[i], f2_files[i]], axis=1))
循环之后,在
中,所有的\u文件都应该是一个包含所有相关数据帧的列表。

使用
zip

Ex:

import os

result = [pd.concat([f1, f2], axis=1) for f1, f2 in zip(os.listdir('C:/PartA/'), os.listdir('C:/PartB/'))]
使用
zip

Ex:

import os

result = [pd.concat([f1, f2], axis=1) for f1, f2 in zip(os.listdir('C:/PartA/'), os.listdir('C:/PartB/'))]

只需对每个文件夹中的已排序文件使用
zip
。注意:读取目录时的顺序不保证。。。使用
dir
ls
看到的内容可能与Python脚本接收到的内容的顺序不同。关于文件顺序,正如前面的评论所指出的,在
os.listdir
glob.glob
返回的文件列表中使用
sorted
可能是个好主意。这两份文档都说结果是以任意顺序返回的。Python没有收到windows文件夹的顺序?只需对每个文件夹中的已排序文件使用
zip
。注意:读取目录时的顺序不保证。。。使用
dir
ls
看到的内容可能与Python脚本接收到的内容的顺序不同。关于文件顺序,正如前面的评论所指出的,在
os.listdir
glob.glob
返回的文件列表中使用
sorted
可能是个好主意。这两个文档都说结果是以任意顺序返回的。Python不接收windows文件夹的顺序吗?