我有一些每周的.csv文件,这些文件是根据一周的开始和结束日期和时间来命名的,例如:
File_2018-01-01_05-30-00_2018-01-08_02-00-00
我想使用一个Python脚本来分析它们,我的想法是遍历文件夹中的.csv
,然后运行其余代码。
我知道可以将更多.csv
文件连接为一个文件,但是我的计算机不支持那么多文件,因此我对各个期间的结果很感兴趣。
如果名称如此不同,是否可以使用glob函数/库?
答案 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: