Конвертировать кавычки в пространство - PullRequest
0 голосов
/ 27 апреля 2020

Я хотел бы заменить эти двойные кавычки в строке: необходимо преобразовать эту строку в действительную JSON

data = '[{"Attribute":"Assembled Product Length","Keywords":"6.49"","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Width","Keywords":"2.75"","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Height","Keywords":"8.46"","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Diameter","Keywords":"","AttributeComments":"No Value Found","OtherComment":""}]'

Ожидаемый результат:

data = '[{"Attribute":"Assembled Product Length","Keywords":"6.49","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Width","Keywords":"2.75","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Height","Keywords":"8.46","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Diameter","Keywords":"","AttributeComments":"No Value Found","OtherComment":""}]'

Я пытался использовать python заменить функцию: -

data = data.replace('""', '"')

Но это не сработало.

Ответы [ 3 ]

3 голосов
/ 27 апреля 2020

Заменить "" на "

import re
data = '[{"Attribute":"Assembled Product Length","Keywords":"6.49"",...}]'
data = re.sub(':""', ":''", data)
data = data.replace('""','"')
data = data.replace("''",'""')
print(data)

Вывод:

[{"Attribute":"Assembled Product Length","Keywords":"6.49","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Width","Keywords":"2.75","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Assembled Product Height","Keywords":"8.46","AttributeComments":"Value Found","OtherComment":""},{"Attribute":"Diameter","Keywords":"","AttributeComments":"No Value Found","OtherComment":""}]
2 голосов
/ 27 апреля 2020

Существует два метода, которые вы можете использовать:

  1. Python имеет встроенную функцию str.replace(old, new)

    Таким образом, вы можете напрямую заменить его использование: data.replace('""','"')


Регулярное выражение (Регулярное выражение)

import re data = re.sub('""+', '"', data)

Этот код означает, что если непрерывные кавычки появляются дважды, он автоматически преобразует их в одну кавычку.

2 голосов
/ 27 апреля 2020

Как насчет:

data.replace('"",'"')

Заменяет двойные кавычки на одну.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...