Как применить json.loads к каждому файлу json в каталоге - PullRequest
0 голосов
/ 08 октября 2019

Я хотел бы знать, как применить: json.loads- ко всем файлам json в каталоге.

1) Я пытался использовать json.loads с каждым файлом отдельно, однако должен быть лучший способделать это.

2) Я пытался использовать .join, однако это только распечатывает список файлов, а не содержимое файлов JSON.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Возможно сделать это с помощью одного выражения генератора

(json.load(open(f)) for _, _, fs in os.walk('somepath') for f in fs if f.endswith('.json'))

Это загрузит файлы json в папку somepath. Просто замените somepath на что-то полезное для вас.

0 голосов
/ 08 октября 2019

в python3.7

from pathlib import Path
import json 

def load_json_from_dir(path_to_directory):
    all_datas = []
    p = Path(path_to_directory)
    for d in p.iterdir():
        if d.is_file():
            js_data = json.load(d.open())
            all_datas.append(js_data)
    return all_datas

или как генератор

def load_json_from_dir(path_to_directory):
    yield
    p = Path(path_to_directory)
    for d in p.iterdir():
        if d.is_file():
            js_data = json.load(d.open())
            yield js_data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...