Преобразование данных из SQL array_agg

У меня есть CSV таблица с колонкой, содержащей строчки такого вида:

    {сообщение один, сообщение два, сообщение три}    
    {NULL, NULL, сообщение пятнадцать}
...

И я хочу считать ее, чтобы она превратилась в список строк следующего вида:

['сообщение один', 'сообщение два', 'сообщение три']
['NULL', 'NULL', 'сообщение пятнадцать']

Каким образом это можно реализовать?


Ответы (1 шт):

Автор решения: MaxU

Пример:

In [355]: df = pd.read_csv("a.csv", sep="~", header=None, names=["text"])

In [356]: df
Out[356]: 
                                             text
0  {сообщение один, сообщение два, сообщение три}
1              {NULL, NULL, сообщение пятнадцать}

In [357]: df["res"] = df["text"].str.replace(r"[{}]", "").str.split(",\s*")

In [358]: df.loc[0, "res"]
Out[358]: ['сообщение один', 'сообщение два', 'сообщение три']

In [359]: df.loc[1, "res"]
Out[359]: ['NULL', 'NULL', 'сообщение пятнадцать']

In [360]: df
Out[360]: 
                                             text                                             res
0  {сообщение один, сообщение два, сообщение три}  [сообщение один, сообщение два, сообщение три]
1              {NULL, NULL, сообщение пятнадцать}              [NULL, NULL, сообщение пятнадцать]
→ Ссылка