Выборка из базы на python с именованными ячейками.
На php я привык, что результат запроса от базы данных, всегда приходит в именованном массиве. На python это по не понятной причине по умолчанию не так. Вот как выглядит код для получения именованного массива на python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# -*- coding: utf-8 -*- import mysql.connector from mysql.connector import Error name='Павел'; print("Hello ",name); try: conn = mysql.connector.connect(host='localhost',database='grib',user='root',password='') if conn.is_connected(): print('Вроде соеденился!') except Error as e: print(e); exit(0); cursor = conn.cursor(dictionary=True) cursor.execute("SELECT * FROM wp_posts"); row = cursor.fetchone() while row is not None: print(row['post_title']) row = cursor.fetchone() conn.close() |
В общем начал тоже изучать Python.
Познакомился с такой штукой как web2py.
import sys
sys.path.append(‘/home/postcoder/soft/web2py’)# указываешь путь к папке web2py
from gluon import DAL, Field
db = DAL(‘mysql://username:password@localhost/test’)
db.define_table(‘wp_posts’, Field(‘post_title’), Field(‘post_body’)) # описание структуры таблицы
for row in db().select(db.wp_posts.ALL):
print «Post title: » + row.post_title »
print «Post: » + row.post_body
Чем удобна работа через DAL можно работать с любой базой данных без изменения структуры запросов.
На пример для работы с SQLite
Нужно изменить всего одну строчку db = DAL(‘sqlite://storage.sqlite’)
Ага, видел такое.. Но таки оставиновился на mysql.connector, как «родном» и плюс в «базе» всегда с питоном идет, не нужно искать и ставить специально.
А мне с каждым днем все больше и больше начинает нравиться web2py.
Весит немного, можно сразу создавать web приложение для визуализации всех задач. Доступ по локальной сети для работы с нескольких ПК. Ну и на сервере в нете можно запустить.