Доступ к данным из объекта курсора SQLite (Python)

#python #sqlite

#python #sqlite

Вопрос:

В моем коде я выполняю SELECT оператор SQLite для запроса данных в моей базе данных:

 sqlite_obj = c.execute("SELECT * FROM my_table WHERE item_id = 2")
  

Это вернет все данные из строки таблицы в item_id = 2 качестве объекта курсора SQLite. Я пытаюсь получить доступ к данным из объекта курсора SQLite, используя следующий код:

 item_info = sqlite_obj[0][0]
  

Это возвращает ошибку: TypeError: 'sqlite3.Cursor' object is not subscriptable Однако следующий код работает:

 for item in sqlite_obj:
   item_info = item[0]
  

Почему?

Комментарии:

1. cursor.execute возвращает итератор , к которому невозможно получить доступ по индексу. Каждая итерация итератора возвращает объект строки, к которому можно получить доступ по индексу.

2. @snakecharmerb спасибо. Теперь я понимаю. Некоторая полезная информация, которую я нашел на итераторах: w3schools.com/python/python_iterators.asp