Google+ Seguidores

jueves, 25 de mayo de 2017

Como escribir datos CSV en una base de datos SQLite con Python

En esta corta entrada, veremos un sencillo código que pasa datos de un archivo CSV a una tabla SQLite con las bibliotecas de Python: sqlite3 y csv.



Quizá te interese ver también algunos artículos relacionados que escribí ya hace algún tiempo:
Para este ejemplo, utilice un archivo .CSV con las primeras 10 posiciones de la competencia "Giro de Italia" (Ciclismo, por si alguno no conoce). Este archivo tiene 4 columnas (Posición, Nombre, Equipo y Tiempo)


Ahora, vamos al código:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# www.pythondiario.com

import sqlite3
import csv

#Abrimos el archivo CSV
f=open('C:\Users\Admin\Desktop\Posiciones.csv','r') 
#Omitimos la linea de encabezado
next(f, None)
reader = csv.reader(f, delimiter=';')

#Crea la BD en la carpeta donde se encuentra el script
sql = sqlite3.connect('Posiciones.db')
cur = sql.cursor()

#Creamos la tabla si no existe
cur.execute('''CREATE TABLE IF NOT EXISTS posiciones
            (posicion int, nombre text, equipo text, tiempo text)''')

#Llenamos la BD con los datos del CSV
for row in reader:
    cur.execute("INSERT INTO posiciones VALUES (?, ?, ?, ?)", (row[0], row[1], row[2], row[3]))

#Muestro las filas guardadas en la tabla
for row in cur.execute('SELECT * FROM posiciones'):
    print(row)

#Cerramos el archivo y la conexion a la bd
f.close()
sql.commit()
sql.close()


Simple descripción: Primero importamos las librerías necesarias (sqlite3 y csv), luego abrimos el archivo .CSV y omitimos la primera línea (el encabezado). Luego nos conectamos a la BD (que se creará en la carpeta donde ejecutemos el script). Creamos la tabla (si no existe), llenamos los datos con un for y luego los recorremos e imprimimos con otro for. Por último hacemos el cierre del archivo y la conexión a la BD.

En los comentarios del código explico que es cada linea. Espero sea de ayuda.
Como siempre, cualquier duda o sugerencia la dejan al final de la entrada!!!

Fuente: http://adamantine.me/index.php/2017/05/22/how-to-write-data-to-a-sqlite-database-in-python/

1 comentario :
Write comentarios
  1. Excelente ejemplo, amplio mi conocimiento de python gestionando un csv con sqllite

    Gracias!

    ResponderEliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

Powered by Blogger .