Blog
En este tutorial, vamos a mostrar cómo puede utilizar una consulta e iterarla a través de ella, para obtener datos que puede utilizar. En este ejemplo, vamos a generar un gráfico Matplotlib. Echa un vistazo a ese tutorial sobre cómo usar Matplotlib si aún no lo tienes claro.
Poner en práctica nuestras habilidades con Matplotlib
Agregar una función que tome registros y cree gráficas con estos datos
Ahora añadimos la función a nuestro código para graficar, graf_data:
def graf_data(): c.execute('SELECT fecha, valor FROM tabla1') data = c.fetchall() dates = [] values = [] for row in data: dates.append(parser.parse(row[0])) values.append(row[1]) plt.plot_date(dates,values,'-') plt.show()
En este ejemplo, estamos tomando la marca de la fecha y el valor de la tabla. A partir de ahí, estamos iterando la lista de fechas y valores. Después de eso, usamos Matplotlib para graficar los datos. Esto significa que probablemente necesitemos importar Matplotlib:
import matplotlib.pyplot as plt import matplotlib.dates as mdates from dateutil import parser from matplotlib import style style.use('fivethirtyeight')
La gráfica de las fechas de mi base de datos es la siguiente:
Parece un poco extraña aunque si vemos en la siguiente imagen los datos de las fechas podemos ver que es correcta:
El código final seria:
import sqlite3 import time import datetime import random import matplotlib.pyplot as plt import matplotlib.dates as mdates from dateutil import parser from matplotlib import style style.use('fivethirtyeight') conn = sqlite3.connect('tutorial5.db') c = conn.cursor() def create_table(): c.execute("CREATE TABLE IF NOT EXISTS tabla1(unix REAL, fecha TEXT, palabraclave TEXT, valor REAL)") def data_entry(): c.execute("INSERT INTO tabla1 VALUES(1452549219,'2016-01-11 13:53:39','Python',6)") conn.commit() c.close() conn.close() def dynamic_data_entry(): unix = int(time.time()) fecha = str(datetime.datetime.fromtimestamp(unix).strftime('%Y-%m-%d %H:%M:%S')) palabraclave = 'AprenderPython' valor = random.randrange(0,10) c.execute("INSERT INTO tabla1 (unix, fecha, palabraclave, valor) VALUES (?, ?, ?, ?)", (unix, date, keyword, value)) conn.commit() time.sleep(1) def read_from_db(): c.execute('SELECT * FROM tabla1 WHERE valor = 5') data = c.fetchall() print(data) for row in data: print(row) c.execute('SELECT * FROM tabla1 WHERE unix > 14525') data = c.fetchall() print(data) for row in data: print(row) c.execute('SELECT * FROM tabla1 WHERE unix >1522330328') data = c.fetchall() print(data) for row in data: print(row[0]) def graf_data(): c.execute('SELECT fecha, valor FROM tabla1') data = c.fetchall() dates = [] values = [] for row in data: dates.append(parser.parse(row[0])) values.append(row[1]) plt.plot_date(dates,values,'x-') plt.show() graf_data() c.close conn.close()
➡ ¡Enhorabuena! La visualización de registros te ayuda a comprender mejor los patrones detrás de tus datos.
En nuestro curso Python de SQLite puedes aprender de temas similares a este y volverte un experto en SQLite:
[…] se le ha enseñado cómo crear una base de datos, una tabla, cómo insertar datos, cómo leerlos y como graficar desde SQLite. En este tutorial, vamos a hablar de cómo modificar los datos existentes y como […]
[…] En el siguiente tutorial, vamos a mostrar un ejemplo de cómo se puede graficar estos datos de la base de datos. […]