Можно ли сохранить набор шаблонов регулярных выражений в файле json и использовать определенный шаблон внутри файла json / для запуска на моем коде python в файле / df? - PullRequest
0 голосов
/ 01 февраля 2019

На самом деле я пытаюсь разработать сценарий python для очистки данных с фрейма данных pandas, в котором будет файл json, содержащий различные шаблоны регулярных выражений, которые будут использоваться в сценарии python индивидуально в соответствии с требованиями очистки.Очистка кадра данных будет происходить в соответствии с шаблоном, данным мной, который уже находится в этом файле JSON

Я попытался получить JSON в формате

{"regex": [regex1,regex2]}

и должен был получить доступ, например,

regex1 = r'(?:stringstart(.+)stringstop)'

должен был работать на df скажем

df = pd.DataFrame({'Col1':['stringstart some data inside stringstop']})

Я сохранил шаблон в файле JSON, но всякий раз, когда я пытаюсь json.loads, он дает мне

error raise JSONDecodeError("Expecting value", s, err.value) from None'

Я не могу получить доступ к шаблонам.Логика, о которой я думаю, состоит в том, чтобы создать словарь Python, который содержит строку регулярного выражения для объекта JSON, но не может этого сделать.

Есть ли способ прочитать определенные шаблоны регулярных выражений в JSON и применить к файлу или df такжешаблон регулярных выражений должен работать так же, если он аналогичен шаблону в самом коде?

1 Ответ

0 голосов
/ 01 февраля 2019

В вашем вопросе все еще отсутствует информация, но я постараюсь дать некоторые подсказки.

Итак, json - это формат данных.Я предполагаю, что вы читаете этот JSON из файла (не так ли?).В Python вы можете прочитать его как целую строку, но это очень неудобно.Естественный способ - прочитать его (например, с помощью библиотеки json) и сохранить его в структуре данных dictionary.

По вашему вопросу ваш json выглядит примерно так:

{"regex": 
    [regex1,
     regex2
    ]
 }

где regex1 и regex2 - две строки, представляющие ваши регулярные выражения (регулярные выражения - просто строки).Следовательно, ваше регулярное выражение должно быть в двойных кавычках "...", если не ваш json искажен.Чтобы было понятно, что-то вроде этого:

{"regex": 
    [".*",
     "substring"
    ]
 }

Теперь предположим, что вы прочитали этот json и поместили его в словарь d: вы можете получить доступ к строке следующим образом:

r1 = d['regex'][0]
r2 = d['regex'][1]

r1 и r2 теперь являются строковым типом данных, представляющим ваше регулярное выражение, и вы можете использовать их по своему усмотрению.

На этот вопрос я могу ответить без подробностей в вашем вопросе.

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