У меня есть текстовый файл, содержащий некоторые параметры и их значения.После анализа в Python создается словарь.Текстовый файл выглядит примерно так:
Object1
House: Blue
Car: Red
Green
Garden: Big
Object2
House: Beatiful
Car: Nice
Garden: Small
После создания словаря я также создаю несколько блоков, которые затем помогают мне разобрать все в файле json.Проблема в том, что «зеленый» определяется не как ценность для автомобиля, а как новый объект.Поэтому я хотел бы переместить «зеленую» строку на одну строку вверх и получить текстовый файл, подобный этому.
Object1
House: Blue
Car: Red Green
Garden: Big
Object2
House: Beatiful
Car: Nice
Garden: Small
Как я могу сделать это в Python?Я думал об использовании функций регулярных выражений, чтобы найти грин, но все же я не знаю, как поставить его на одну строку.
Код:
to_json = {}
answer = {}
block_cnt = 1
header = re.compile('[a-zA-Z0-9]')
inner = re.compile("[\t]")
empty = re.compile("[\n]",)
with open(output, 'r') as document:
for line in document:
#print line
if empty.match(line[0]):
continue
elif header.match(line[0]):
if answer:
to_json[block_cnt] = answer
#print answer
block_cnt += 1
answer = {}
elif inner.match(line[0]):
_key, value = line.split(": ")
tab, key = _key.split("\t")
answer[key] = value.strip("\n")