Найти - Пользователи
Полная версия: Как представить таблицу БД в Python?
Начало » Python для новичков » Как представить таблицу БД в Python?
1 2
tfox
Всем привет. Вопрос от новичка не пенайте

Мне необходимо прочитать таблицу из базы данных и загрузить ее в некий “питоновский-массив”. Затем пройтись построчно по этому массиву и при необходимости изменять его.

Вопрос такой: как организовать такой питоновский-массив? Используя списки, словари и т.д.
GaiveR
http://lmgtfy.com/?q=python+read+db+table
tfox
GaiveR
http://lmgtfy.com/?q=python+read+db+table

Вы не поняли вопрос. Меня не интересует чтение из базы данных.

Как правильно представить таблицу в Питоне?
py.user.next
в виде списка списков
tfox
Почитал за словари.
Может быть использовать их. Где ключ это будет имя поля таблицы, а значение это ячейка строки.
Viktor_Zorichev
Но ведь название поля одно для всех соотв. ячеек в строках. То есть
d['поле'] = 'значение ячейки строки 1'
Куда записать значение ячейки из строки 2?
Как уже говорили, список списков - хороший вариант.
tfox
Viktor_Zorichev
Куда записать значение ячейки из строки 2?

Думаю над этим:

d[id] = 101  d[name] = Ivanov
d[id] = 102  d[name] = Petrov
d[id] = 103  d[name] = Sidorov

То есть множество словарей. Словарь не упорядочен но не беда. Он имеет пару ключ значение.

Одна строка в БД это один словарь в Pythone.
Словарь нельзя увеличить/уменьшить как и количество полей в таблицы БД.
А список можно увеличить/уменьшить как и количество строк в таблице БД.

Отсюда следует, что строку таблицы можно ассоциировать со словарем, а всю таблицу со списком.
Fibio
http://python.su/blogs/python/9-pitonicheskoe-myishlenie/
обратите в нимание на раздел “Кортежи – это не списки «только для чтения»”
т.е. кортеж - это строка из бд,
и "http://python.su/blogs/python/5-interesnyie-moduli-kotoryie-oblegchayut-nam-zhizn/
раздел ”Именованный кортеж - Namedtuple"
tfox
Вот. Словарь мне понравился тем, что можно работать не с индексом, а с именем элемента. Удобно. И похоже на базу данных. Но словарь изменяемый тип данных. Это делает его не пригодным аналогом.

Именованный кортеж. Не изменяемый тип данных. Добавить/удалить элементы нельзя. Но само значение элементов поменять можно. Прям как в базе данных. И самая главная фишка. Теперь к элементам можно обращаться по имени, а не по индексу.

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

Спасибо за наводку.
Soteric
Думаю использование классов может существенно упростить задачу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB