Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 27, 2020 15:19:37

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение json из файла

имеется json фаилс примерно таким содержантем:

[
{“id”: “10299302290”, “time”: “00:03:45”, “value”: “150”},
{“id”: “10299352668”, “time”: “00:04:31”, “value”: “250”},
{“id”: “10299352668”, “time”: “00:05:51”, “value”: “350”},
……………………………………………………………………….
]

пытаюсь его прочитать:

  with open(path_to_data+currentDir, 'r') as f:
        data = json.loads(f.read())
        for item in data:
            print(item)

получаю строки по типу:
{'id': ‘10299352668’, ‘time’: ‘00:26:09’, ‘value’: ‘850’}

почему двойные кавычки поменялись на одиночные?

как этого избежать или поменять назад?

Офлайн

#2 Сен. 27, 2020 15:55:51

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

чтение json из файла

во-первых, есть функция json.load, которая принимает файловый объект, то есть не надо читать файл вручную
во-вторых, после loads вы получаете не строки, а объекты, в вашем случае - это список словарей, в котором и ключи и значения - строки. В питоне нет разницы между одинарными и двойными кавычками, и тот факт, что при печати объекта отображаются одинарные кавычки не значит вообще ничего.



Офлайн

#3 Сен. 27, 2020 18:31:15

Areostar
Зарегистрирован: 2018-06-27
Сообщения: 162
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение json из файла

добавил эту функцию

  print(json.dumps(item))

работает!

Отредактировано Areostar (Сен. 27, 2020 18:31:59)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version