如何在单个 Python 脚本中分析名称取决于时间戳的多个 .csv 文件?
How to analyze multiple .csv files whose names depend on timestamps in a single Python script?
我有一些每周的 .csv 文件,这些文件根据一周的开始和结束日期和时间命名,例如:
File_2018-01-01_05-30-00_2018-01-08_02-00-00
我想使用单个 Python 脚本分析它们,我的想法是遍历文件夹中的 .csv
,然后 运行 其余代码。
我知道可以将多个 .csv
文件连接成一个文件,但我的电脑不支持这么多,我对各自时期的结果分别感兴趣。
如果名称如此不同,是否有任何使用 glob function/library 的方法?
假设您正在使用 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:
我有一些每周的 .csv 文件,这些文件根据一周的开始和结束日期和时间命名,例如:
File_2018-01-01_05-30-00_2018-01-08_02-00-00
我想使用单个 Python 脚本分析它们,我的想法是遍历文件夹中的 .csv
,然后 运行 其余代码。
我知道可以将多个 .csv
文件连接成一个文件,但我的电脑不支持这么多,我对各自时期的结果分别感兴趣。
如果名称如此不同,是否有任何使用 glob function/library 的方法?
假设您正在使用 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: