我在一个名为的目录/文件夹中有文件:
sacoronavirus_total_number_vaccinated_type_2022-04-30.csv
sacoronavirus_total_number_vaccinated_type_2022-05-31.csv
sacoronavirus_total_number_vaccinated_type_2022-06-30.csv
sacoronavirus_total_number_vaccinated_type_2022-07-31.csv
sacoronavirus_total_number_vaccinated_type_2022-08-31.csv
该文件夹将更新为每月的文件,格式与上述相同。例如:
sacoronavirus_total_number_vaccinated_type_2022-09-30.csv
sacoronavirus_total_number_vaccinated_type_2022-10-31.csv
我只想把最近一个月的.csv文件加载到Pandas数据框中,而不是所有的文件。我该怎么做呢(也许用glob)?
下面的代码通过元数据获取大多数文件的加载日期,而不是文件名的字符串
import glob
import os
list_of_files = glob.glob('/path/to/folder/*') # * means all if need specific format then *.csv
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)
注意同一目录中有其他文件具有不同的前缀。
2条答案
按热度按时间iyzzxitl1#
如果所有文件都有相同的前缀,那么您需要做的就是获取名称排序列表中的最后一个文件,因为ISO 8601日期字符串在字典上是可比较的:
其实,就
如果您不需要完整的列表,也可以使用。
3mpgtkmj2#
这里有一个建议,使用
pathlib
按文件名选择最近的文件。然后,您可以使用
pandas.read_csv
并传递文件路径来创建 Dataframe 。