如何在一个Python脚本中分析多个名称取决于时间戳的.csv文件?

时间:2018-09-05 11:32:34

标签: python csv glob data-analysis

我有一些每周的.csv文件,这些文件是根据一周的开始和结束日期和时间来命名的,例如:

File_2018-01-01_05-30-00_2018-01-08_02-00-00

我想使用一个Python脚本来分析它们,我的想法是遍历文件夹中的.csv,然后运行其余代码。

我知道可以将更多.csv文件连接为一个文件,但是我的计算机不支持那么多文件,因此我对各个期间的结果很感兴趣。

如果名称如此不同,是否可以使用glob函数/库?

1 个答案:

答案 0 :(得分:0)

假设您使用的是Python 3.x,则可以使用glob.glob()来迭代所有合适的文件名,如下所示:

import glob
import csv

for filename in glob.glob("File_*.csv"):
    print("Processing '{}'".format(filename))

    with open(filename, newline='') as f_input:
        csv_input = csv.reader(f_input)

        for row in csv_input:
            print(row)

    print()

在此示例中,它查找以File_开头的所有CSV文件,打开它们,显示文件名,然后显示文件中的所有行。因此,例如,如果您有一个名为File_2018-01-01_05-30-00_2018-01-08_02-00-00.csv的CSV文件,其中包含:

col1,col2
a,b
c,d

该脚本将显示:

Processing 'File_2018-01-01_05-30-00_2018-01-08_02-00-00.csv'
['col1', 'col2']
['a', 'b']
['c', 'd']    

然后将对同一文件夹中的所有其他匹配文件名重复此操作。

如果您使用的是Python 2.x,则需要修改以下行:

with open(filename, 'rb') as f_input: