При условии, что вы предполагаете, что в ваших строках нет запятых и / или двоеточий, вы можете восстановить их, считая все строки между :
и ,
в виде строки. Это может быть выполнено, например, путем разбиения регулярным выражением.
In [1]: s = "'comment1': 'bla bla it's you're can't bla bla','comment2': 'bla bla it's you're can't bla bla',"
In [2]: r = re.compile(r"[:,]")
In [3]: r.split(s)
Out[3]:
["'comment1'",
" 'bla bla it's you're can't bla bla'",
"'comment2'",
" 'bla bla it's you're can't bla bla'",
'']
Конечно, это довольно большое "если". Если даже есть вероятность, что ваши строки содержат символы запятой / двоеточия, то deceze является правильным, и вы СОЛНЕЧНЫЕ.
В общем, нет решения этой проблемы. Чтобы увидеть это, рассмотрим следующий (несколько надуманный) пример.
... 'comment': 'this is', 'my comments': 'Hi',
Если в строках, заключенных в '
, разрешено содержать '
, то невозможно определить, подразумевается ли это как 'comment': "this is', 'my comments': 'Hi'",
или 'comment': "this is", 'my comments': "Hi", ...