Замена backslash при сохранении url в utf8
Сохраняю pandas датафрейм в json в кодировке utf8. В датафрейм есть урлы.
| | code | url |
|---:|-------:|:------------------------------------------------------------------|
| 0 | 65615 | "mediaFiles": [{ |
| | | "name": "main", |
| | | "path": "https://www.mycite.ru/MPL018051LG.jpg" |
| | | }, { |
| | | "name": "auxiliary", |
| | | "path": "https://www.mycite.ru/MPL018051_2.jpg" |
| | | } |
| | | ] |
| 1 | 654863 | "mediaFiles": [{ |
| | | "name": "main", |
| | | "path": "https://www.mycite.ru/MPL018051LG_1.jpg" |
| | | }, { |
| | | "name": "auxiliary", |
| | | "path": "https://www.mycite.ru/MPL018051_5.jpg" |
| | | } |
| | | ] |
with open('test.json', 'w', encoding='utf8') as file:
product_json.to_json(file,'records',force_ascii=False)
В файл записываются урлы, содержащие обратные слэши.
"path": "https:\/\/www.mycite.ru\/MPL018051_3.jpg"
Если после экспорта повторно открыть файл и попытаться сделать замену, то к результату это не приводит, и строка со ссылкой остаётся прежней
with open('test.json', 'r+', encoding='utf8') as file:
content=file.read()
content=content.replace('\/','/')
file.write(content)