я сохранение данных с веб-страницы с помощью следующего кода:Загрузка JSON данных из файла в Python
[...]
response = urllib2.urlopen(req)
the_page = response.read()
data_to_analyse = json.loads(the_page)
import datetime
datafile = open(str(datetime.datetime.now())+'_data.json','w')
datafile.write(str(data_to_analyse))
[...]
Сейчас я пытаюсь работать с данными, сохраненными в файле данных, но я не могу справиться с JSON правильно.
файл данных начинают пример часть:
{
u'SiteRep': {
u'DV': {
u'type': u'Obs',
u'dataDate': u'2016-11-18T10:00:00Z',
u'Location': [
{
u'elevation': u'15.0',
u'name': u'BALTASOUND',
u'i': u'3002'
[and so on - file closes correct...]
Прежде, чем я мог бы простой процесс 'data_to_analyse' с:
for SiteRep in data_to_analyse:
for data_to_analyse_experience in data_to_analyse[SiteRep]:
и все работало. Сейчас я получаю сообщение об ошибке:
**TypeError:** string indices must be integers, not str
если я пытаюсь загрузить данные из файла с этим кодом:
for datafile in os.listdir('.'):
if datafile.endswith('.json'):
data = open(datafile,'r').read()
jsondata = json.dumps(data)
или:
**ValueError:** Expecting property name: line 1 column 2 (char 1)
с:
jsondata = json.loads(data)
Как преобразовать файл в правильный json obje кар?
Результат: ValueError: Ожидать Имя свойства: строка 1 колонка 2 (символ 1) – user2853437
Вы можете чтобы обернуть вашу строку json.load с помощью try catch, поскольку недействительный JSON вызовет сообщение об ошибке stacktrace. – bomboerick