Чтение MYSQL Db с использованием python возвращает мне кортеж, который мне нужно преобразовать в список

После подключения 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'] 

но вместо этого выведите некоторую сортировку кортежей списка, которая требует, чтобы я преобразовал в список

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
203
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы указываете MySQL возвращать значения группы в виде строки, разделенной запятыми, в одном поле результата с помощью group_concat. Python не может знать, что вам снова нужно разделить строку на отдельные поля.

Возвращаемое значение fetchall() определяется как последовательность последовательностей согласно Спецификация DB API 2.0 в PEP 249. Представление результата запроса в виде списка кортежей - общепринятая практика.

Если вы просто хотите увидеть один элемент результата, вы можете использовать fetchone(), который вернет одну последовательность, хотя это может быть кортеж, в зависимости от используемого вами драйвера.

Если вам нужна эта строка в виде списка в Python, вы можете получить ее, используя это, например:

[('Fun,Wonderful,Good,Salty',)][0][0].split(',')
# ['Fun', 'Wonderful', 'Good', 'Salty']

Другие вопросы по теме