[英]How to use the items of the list, with the glob.glob to get the files?
在包含日期作為名稱的目錄中有各種 csv 文件( somename_20210202.csv
, xyzname_20210305.csv
,等)。 我想閱讀下面提到的給定日期范圍內的文件。 通過這些日期的列表,我創建了一個文件模式。 此外,我想在 glob.glob 中使用該模式來獲取文件,但globbed_files
返回空列表。 我的代碼在pattern_list
之前是正確的。 請提出問題出在哪里。
from datetime import timedelta, date
import pandas as pd
import numpy as np
import glob
import os
import datetime as dt
def daterange(date1, date2):
for n in range(int ((date2 - date1).days)+1):
yield date1 + timedelta(n)
start_dt = date(2020,01,15)
end_dt = date(2020,02,10)
abc = []
weekdays = [5,6]
for dt in daterange(start_dt, end_dt):
if dt.weekday() not in weekdays:
abc.append(dt.strftime("%d-%b-%Y"))
#print(dt.strftime("%d-%b-%Y"))
print(abc)
dir = r"C:\User\Folder"
pattern_list = []
for dates in abc:
pattern = f'*_{dates}.csv' # use wildcards (*)
pattern_list.append(pattern)
print(pattern_list)
for x in pattern_list:
globbed_files = glob.glob(os.path.join(dir, x))
print(globbed_files)
您的模式是正確的,並且從 glob 模塊獲取文件也是正確的。 只需確保您的. csv文件存在於您的文件目錄( 'C:\User\Folder'
)路徑中,然后您將從globbed_files
獲得相同的結果,否則銀行列表。
例如:
創建兩個或多個文件為a_20210202.csv, b_20210202.csv and c_20210305.csv
等...
並設置您的模式日期列表,例如:
pattern_list = [*_20210202.csv, *_20210305.csv]
然后:
dir = "your created files folder path"
for x in pattern_list:
globbed_files = glob.glob(os.path.join(dir, x))
print(globbed_files)
注意:示例僅用於演示目的,其 static 方式創建文件然后獲取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.