У меня есть фрейм данных с адресами свободной формы, которые я нормализую с помощью API Карт Google Geocoder. Результат возвращается в формате JSON, записывается в столбец и сохраняется в csv.
Однако, когда я читаю этот csv, в столбце с JSON появляются косые черты, поскольку столбец был прочитан из csv в виде строки, одиночнойкавычки появились в начале и в конце, а одиночные кавычки внутри json были экранированы с помощью обратной косой черты.
Так я получаю
json_address
'{\'status\': \'OK\'}'
Пока мне нужно
json_address
{'status': 'OK'}
Решение здесь не работает для меня, так как мой CSV читается в одинарных кавычках, и я получаю ошибку Expecting property name enclosed in double quotes
В дополнение к этому я не хочу нормализовать JSON ипоместите его в отдельные столбцы, я хочу вывод в виде словаря, указанного выше
Я пытался заменить одинарные кавычки на двойные
df['json_double'] = df['json_address'].apply(lambda x: x.replace("\'", "\""))
Это сработало, поэтому я получил
''{\''status\'': \'OK\''}''
Однако, когда я попробовал df['json'] = df['json_double'].apply(json.loads)
, я получил ошибку Expecting ',' delimiter: line 1 column 609 (char 608)
Так что мои вопросы:
- Как правильно обрабатывать JSON в будущем, чтобы избежать таких проблем?
- Как решить мою проблему? Меня интересует как решение на этапе чтения, так и на этапе преобразования столбца строки в json.
PS Пример всей строки, которую я хочу получить в качестве json, равен
* 1037. *
Применение json.loads
к нему приводит к Expecting ',' delimiter: line 1 column 609 (char 608)
Получена следующая ошибка при попытке предложить решение ![enter image description here](https://i.stack.imgur.com/bNrqS.png)