【问题标题】:Read csv files from multiple folders using a for loop使用 for 循环从多个文件夹中读取 csv 文件
【发布时间】:2018-02-11 18:13:22
【问题描述】:

我的代码将从一个 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]))

我希望能够将目录文件夹指定到文件夹 1 并遍历文件夹 1 到文件夹 8,这些文件夹都具有相同名称的相同 csv 文件

【问题讨论】:

    标签: python python-2.7 csv path


    【解决方案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
    

    【讨论】:

    • 太棒了!祝项目的其余部分好运
    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 2020-07-19
    • 2019-08-04
    • 1970-01-01
    相关资源
    最近更新 更多