簡體   English   中英

如何使用 python glob 讀取特定的 JSON 文件

[英]how to read specific JSON files using python glob

我在一個文件夾中有一組 JSON 個文件。

示例文件:

-2022_06_13_07_14_f71cd512135bdab9.json
-2022_06_13_07_1421_f71cd512135bdab9.json
-2022_06_13_07_12314_f71cd512135bdab9.json
-2022_06_14_132_14_f71cd512135bdab9.json
-2022_06_14_74647_14_f71cd512135bdab9.json

我不需要一次閱讀所有文件,而是需要每天閱讀它們。

例如:2022_06_13_07_14_f71cd512135bdab9.json 對應 2022_06_13。

同樣,我需要閱讀所有 JSON 文件並在 Daywise 批次中進行更改。

首先讀取 2022_06_13 中的所有 JSON 個文件,然后讀取 2022_06_14 中的所有 JSON 個文件,依此類推。 我想在循環日明智列表中應用通配符。

我對以下行的問題。 如何添加通配符以查找與特定日期相關的所有 JSON 文件?

json_files = glob.glob(os.path.join(path_to_json, 'day*.json'))

當前代碼:

start = datetime.datetime(2022, 8, 25)
end = datetime.datetime(2022, 12, 25)
datelist = pd.date_range(start, end)
path_to_json = r'C:\Users\Admin\INPUT'

for a in datelist:
    day=str(a)[:10].replace('-', '_')
    json_files = glob.glob(os.path.join(path_to_json, 'day*.json'))
    
    for i in json_files:
        with open(i,'r') as fi:
            dict = json.load(fi)
            dict[0]["Name"] = "NETFLIX"
            fi.close()
        l= i.rsplit('\\', 1)[1]
        Output_URL="C:\\Users\\Admin\\OUTPUT\\Netflix\\"+l
        with open(Output_URL, "w+") as f:
            json.dump(data, f)

改變這個: json_files = glob.glob(os.path.join(path_to_json, 'day*.json'))

為此: json_files = glob.glob(os.path.join(path_to_json, f"{a.strftime('%Y_%m_%d')}*.json"))

這將采用日期a並將其轉換為類似於文件中的字符串。 將星號作為通配符保留在它后面,您應該每次都獲得與日期匹配a所有文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM