繁体   English   中英

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

[英]Read csv files from multiple folders using a for loop

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

可以说我有一个名为Folder1到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文件

要读取脚本所在目录以外的目录,您需要向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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM