遍历主文件夹中的多个文件夹的脚本

时间:2019-11-06 23:57:16

标签: python python-3.x pandas numpy csv

我编写了一个脚本,该脚本从多个csv文件中提取列(保留在名为SIM1的文件夹中)并将它们保存在txt文件中。现在,我需要在多个文件夹(SIM2,SIM3,SIM4等)上迭代此脚本。所有这些SIM文件夹都位于一个主文件夹中。如果能在迭代方面获得帮助,我将不胜感激。 (我正在使用Python 3.7)

    date    count
0   2017-05-31  1
1   2017-06-25  1
2   2017-07-01  1
3   2017-08-29  1
4   2017-09-06  2

1 个答案:

答案 0 :(得分:1)

尝试一下

import os
import pandas as pd
import numpy as np
import csv

master_path = '<master dir path>'
subfolders = list(filter(lambda x: os.path.isdir(os.path.join(master_path, x)), os.listdir(master_path)))
for folder in subfolders:

    ppt = pd.read_csv(f"{master_path}/{folder}/ppt.csv")
    et = pd.read_csv(f"{master_path}/{folder}/et.csv")
    tmx = pd.read_csv(f"{master_path}/{folder}/tmax.csv")
    weather_SIM = pd.read_csv(f"{master_path}/{folder}/Weather_SIM1.csv")

    big_frame = pd.concat([weather_SIM, ppt,et,tmx], axis=1)

    np.savetxt(f"{master_path}/{folder}/Weather.txt", big_frame, fmt= "%0.0f\t %0.0f\t %0.0f\t %0.1f\t %0.1f\t %0.1f", header='Year\t Month\t Date\t ppt\t et\t tmax', comments='')