使用for循环从多个文件夹中读取csv文件

时间:2018-02-11 18:13:22

标签: python python-2.7 csv path

我的代码将从csv文件读取并执行多个操作/计算,然后创建另一个csv文件,我有8个文件夹可以读取/写入,我希望我的代码逐个遍历它们

假设我有名为Folder1 to Folder8的文件夹,首先我如何指定我的代码从不同的目录中读取而不是python脚本存在的默认目录?

这是我的代码的一部分

#read the columns from CSV
MAXCOLS = Number_Of_Buses + 1
Bus_Vol = [[] for _ in range(MAXCOLS)]
with open('p_voltage_table_output.csv', 'rb') as input:
    for row in csv.reader(input, delimiter=','):
        for i in range(MAXCOLS):
            Bus_Vol[i].append(row[i] if i < len(row) else '')

for i in xrange(1,MAXCOLS):
    dummy=0
    #print('Bus_Vol[{}]: {}'.format(i, Bus_Vol[i]))

我希望能够指定目录文件夹到folder1,并且还可以遍历folder1到folder8,它们都具有相同名称的相同csv文件

1 个答案:

答案 0 :(得分:1)

要读取脚本所在目录以外的目录,需要为python提供目录的绝对路径。

Windows样式:c:\ path \ to \ directory

* nix样式:/ path / to / directory

在任何一种情况下,它都是一个字符串。

您没有指定目标文件夹是否在同一目录中。如果是,那就更容易了。

import os
path_to_parent = "/path/to/parent"

for folder in os.listdir(path_to_parent):
    for csv_file in os.listdir(os.path.join(path_to_parent, folder)):
        # Do whatever to your csv file here

如果您的文件夹分散在您的系统上,那么您必须提供每个文件夹的绝对路径:

import os
paths_to_folders = ['/path/to/folder/one', '/path/to/folder/two']

for folder in paths_to_folders:
   for csv_file in os.listdir(folder):
        # Do whatever to your csv file
相关问题