Форум сайта python.su
0
Всем привет. Вопрос от новичка не пенайте 
Мне необходимо прочитать таблицу из базы данных и загрузить ее в некий “питоновский-массив”. Затем пройтись построчно по этому массиву и при необходимости изменять его.
Вопрос такой: как организовать такой питоновский-массив? Используя списки, словари и т.д.
Офлайн
16
Офлайн
0
GaiveR
http://lmgtfy.com/?q=python+read+db+table
Офлайн
857
в виде списка списков
Офлайн
0
Почитал за словари.
Может быть использовать их. Где ключ это будет имя поля таблицы, а значение это ячейка строки.
Офлайн
3
Но ведь название поля одно для всех соотв. ячеек в строках. То есть
d['поле'] = 'значение ячейки строки 1'
Отредактировано Viktor_Zorichev (Сен. 27, 2012 10:55:55)
Офлайн
0
Viktor_Zorichev
Куда записать значение ячейки из строки 2?
d[id] = 101 d[name] = Ivanov d[id] = 102 d[name] = Petrov d[id] = 103 d[name] = Sidorov
Отредактировано tfox (Сен. 27, 2012 11:24:21)
Офлайн
2
http://python.su/blogs/python/9-pitonicheskoe-myishlenie/
обратите в нимание на раздел “Кортежи – это не списки «только для чтения»”
т.е. кортеж - это строка из бд,
и "http://python.su/blogs/python/5-interesnyie-moduli-kotoryie-oblegchayut-nam-zhizn/“
раздел ”Именованный кортеж - Namedtuple"
Офлайн
0
Вот. Словарь мне понравился тем, что можно работать не с индексом, а с именем элемента. Удобно. И похоже на базу данных. Но словарь изменяемый тип данных. Это делает его не пригодным аналогом.
Именованный кортеж. Не изменяемый тип данных. Добавить/удалить элементы нельзя. Но само значение элементов поменять можно. Прям как в базе данных. И самая главная фишка. Теперь к элементам можно обращаться по имени, а не по индексу.
Предполагаю, что список именованных кортежей - это есть таблица из реляционной базы данных 
Спасибо за наводку.
Офлайн
20
Думаю использование классов может существенно упростить задачу.
Офлайн