После подключения python к MySQL Db я выполнил запрос для извлечения данных из MySQL с помощью group_concat и group by, а затем я получил запрос.
Результат выглядит так:
[('Fun,Wonderful,Good,Salty',)]
Но вместо этого я хочу, чтобы это выглядело так:
['Fun','Wonderful','Good','Salty']
Кажется, Fetchall возвращает какой-то кортеж, и это довольно раздражает, так как он мне нужен как список для использования в python. Я попытался использовать понимание списка, чтобы заменить запятую (,) цитатой, запятой и цитатой (','), но вместо этого он изменился на это:
["Fun','Wonderful','Good','Salty"]
Он изменяет начальную и конечную цитату, чтобы она была противоположной тому, что я хочу заменить. Как мне получить то, что я хочу?
Почему группа concat не может сразу вывести это:
['Fun','Wonderful','Good','Salty']
но вместо этого выведите некоторую сортировку кортежей списка, которая требует, чтобы я преобразовал в список






Вы указываете MySQL возвращать значения группы в виде строки, разделенной запятыми, в одном поле результата с помощью group_concat. Python не может знать, что вам снова нужно разделить строку на отдельные поля.
Возвращаемое значение fetchall() определяется как последовательность последовательностей согласно Спецификация DB API 2.0 в PEP 249. Представление результата запроса в виде списка кортежей - общепринятая практика.
Если вы просто хотите увидеть один элемент результата, вы можете использовать fetchone(), который вернет одну последовательность, хотя это может быть кортеж, в зависимости от используемого вами драйвера.
Если вам нужна эта строка в виде списка в Python, вы можете получить ее, используя это, например:
[('Fun,Wonderful,Good,Salty',)][0][0].split(',')
# ['Fun', 'Wonderful', 'Good', 'Salty']