Чтение всех файлов JSON в каталоге - PullRequest
0 голосов
/ 20 мая 2018

У меня есть несколько (400) json-файлов, содержащих dict в каталоге, который я хочу прочитать и добавить в список.Я попытался перебрать все файлы в каталоге следующим образом:

path_to_jsonfiles = 'TripAdvisorHotels'
alldicts = []
for file in os.listdir(path_to_jsonfiles):
    with open(file,'r') as fi:
        dict = json.load(fi)
alldicts.append(dict)

Я получаю следующую ошибку:

FileNotFoundError: [Errno 2] No such file or directory

Однако, когда я смотрю на файлы вкаталог, он дает мне все нужные файлы.

for file in os.listdir(path_to_jsonfiles):
    print(file)

Простое открытие одного из них с именем файла также работает.

with open('AWEO-q_GiWls5-O-PzbM.json','r') as fi:
    data = json.load(fi)

Были ли в цикле ошибки?

1 Ответ

0 голосов
/ 20 мая 2018

Ваш код содержит две ошибки:

1. file - это только имя файла.Вы должны написать полный путь к файлу (включая его папку).

2.Вы должны использовать append внутри цикла.

Подводя итог, это должно работать:

alldicts = []
for file in os.listdir(path_to_jsonfiles):
    full_filename = "%s/%s" % (path_to_jsonfiles, file)
    with open(full_filename,'r') as fi:
        dict = json.load(fi)
        alldicts.append(dict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...