LINUX.ORG.RU

работа с данными из MySQL в Python3

 


0

1

Господа, только делаю свои первые шажки в Python, пытаюсь работать с MySQL, делаю запрос на выборку данных с БД.

    conn = mysql.connector.connect(трам пам пам пам Паам)
    query = "SELECT `id_product` FROM `basket`"
    cursor = conn.cursor()
    cursor.execute(query)
    list = cursor.fetchall()
    for key in list:
        print(key)
        print(type(key)
Результат:

(2,)
<class 'tuple'>
как ни стрнно элимент имеет тип кортеж, я облазил весьь интернет и не могу понять как мне работать с этим кортежом? Мне надо например получить инт 2, чтобы потом сравнить это значение. Я переводил функцией str в строку, и соответственно получается строка (2,) как мне убрать скобки? Я уже планирую регулярными выражениями обрабатывать результат=*(

fetchall вернул все найденные строки. Даже если их 1, то это всеравно массив строк (т.е. кортежей). В Цикле ты бежишь по этому массиву и выводишь каждый кортеж. Все ок. Либо делай print(key[0]), либо опиши, что ты хотел сделать.

winlook38 ★★
()
Ответ на: комментарий от winlook38

.... 2 часа я рыл гугл, и не нашел ответа, мою проблему решил key[0], тогда значение получается инт. спасибо!!!

ilovemoney
() автор топика

cursor = conn.cursor(dictionary=True)

И потом обращаться можно по словарю

print(key['id_product'])

Deleted
()

Полагаю python вы не знаете, соотвественно вопрос к MySQL относится слабо

Dred ★★★★★
()
Ответ на: комментарий от ilovemoney

мою проблему решил key[0]

а вот тут аккуратнее, если вы знаете хотя бы один ЯП хотя бы на уровне школьника, то должны знать, если кортеж (tuple) будет пустым вы поймаете exception

Dred ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.