Преобразование данных из 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, сообщение пятнадцать]