Я учусь Python (python3) и работаю с текстовым файлом, содержащим полу- JSON формат. Он не полон JSON, потому что «ключи» не заключены в кавычки. Я ищу, чтобы программно добавить кавычки вокруг всех этих ключевых имен. Мой план состоял в том, чтобы «открыть» этот файл и проанализировать каждую «строку» как отдельную строку.
От:
имя_ключа: {другое_ключ: "somevalue", второе_ключ: "anotherval"}
Into:
"имя_ключа": {"another_key": "somevalue", "second_key": "anotherval"}
Я уверен, что регулярное выражение будет быть идеальным способом сделать это - ради обучения я использую массивы ...
У меня есть код, который работает частично, но не все ключи получают круглые скобки вокруг них.
str = "this is: a string: testing testing: blah blah more: test: hereis: test:"
cp_str = list(str[::-1])
skip = False
find_end = False
for step in range(len(cp_str) - 1):
if skip:
skip = False
continue
if cp_str[step] == ':':
cp_str.insert(step + 1, '"')
skip = True
find_end = True
if not skip and find_end and not(ord(cp_str[step].lower()) > 95 and ord(cp_str[step].lower()) < 95+26):
cp_str.insert(step, '"')
skip = True
find_end = False
print(''.join(cp_str[::-1]))
Выходы:
это: строка ": тестирование" тестирование ": бла-бла" еще ":" тест ":" здесь ":" test ":
Буду признателен за любые советы или помощь по лучшим способам решения этой проблемы.