遍历文件夹,每 2 个文件夹执行一个函数
iterating over folders executing a fuction at each 2 folders
我有一个名为 plot_ih_il 的函数,它接收两个数据帧以生成绘图。我还有一组文件夹,每个文件夹都包含一个 .h5 文件,其中包含我需要提供给函数的数据 plot_ih_il...我试图一次为函数提供两个数据集,但没有成功。
我一直在使用 pathlib 这样做
path = Path("files")
for log in path.glob("log*"):
for file in log.glob("log*.h5"):
df = pd.DataFrame(file, key = "log")
但是使用这个循环,我一次只能提供一个数据帧,我需要两个。
文件夹的结构类似于,
files->log1-> log1.h5
log2-> log2.h5
log3-> log3.h5
log4-> log4.h5
我想为函数 plot_il_ih 提供以下序列,
plot_il_ih(dataframeof_log1.h5, dataframeof_log2.h5) then
plot_il_ih(dataframeof_log2.h5, dataframeof_log3.h5) and so on.
我试过使用 zip
def pairwise(iterable):
a = iter(iterable)
return zip(a, a)
for l1, l2 in pairwise(list(path.glob('log*'))):
plot_il_ih(l1, l2)
但并没有前进,只是打开了2个第一
我的逻辑有什么问题?
考虑这样的事情。您可能需要尝试使用索引
filelist = list(path.glob('log*'))
for i in range(1, len(filelist)):
print(filelist[i-1])
print(filelist[i])
print('\n')
我有一个名为 plot_ih_il 的函数,它接收两个数据帧以生成绘图。我还有一组文件夹,每个文件夹都包含一个 .h5 文件,其中包含我需要提供给函数的数据 plot_ih_il...我试图一次为函数提供两个数据集,但没有成功。
我一直在使用 pathlib 这样做
path = Path("files")
for log in path.glob("log*"):
for file in log.glob("log*.h5"):
df = pd.DataFrame(file, key = "log")
但是使用这个循环,我一次只能提供一个数据帧,我需要两个。
文件夹的结构类似于,
files->log1-> log1.h5
log2-> log2.h5
log3-> log3.h5
log4-> log4.h5
我想为函数 plot_il_ih 提供以下序列,
plot_il_ih(dataframeof_log1.h5, dataframeof_log2.h5) then
plot_il_ih(dataframeof_log2.h5, dataframeof_log3.h5) and so on.
我试过使用 zip
def pairwise(iterable):
a = iter(iterable)
return zip(a, a)
for l1, l2 in pairwise(list(path.glob('log*'))):
plot_il_ih(l1, l2)
但并没有前进,只是打开了2个第一
我的逻辑有什么问题?
考虑这样的事情。您可能需要尝试使用索引
filelist = list(path.glob('log*'))
for i in range(1, len(filelist)):
print(filelist[i-1])
print(filelist[i])
print('\n')