¿Cómo importar un archivo CSV en la base de datos SQLite usando Python?

En este artículo, aprenderemos cómo importar datos de un archivo CSV y almacenarlos en una tabla en la base de datos SQLite usando Python. Puede descargar el archivo CSV desde aquí que contiene datos de muestra sobre el nombre y la edad de algunos estudiantes.

Contenido del archivo CSV

Acercarse:

  • Importación de módulos necesarios
  • Leer datos del archivo CSV DictReader()
  • Establecer una conexión con la base de datos.
sqliteConnection = sqlite3.connect('sql.db')
cursor = sqliteConnection.cursor()
  • Cree la tabla de estudiantes y ejecute la consulta usando el método execute().
  • Insertar datos en la tabla
cursor.executemany("insert into student (name, age) VALUES (?, ?);", student_info)
  • Leer datos de la tabla.
  • Y cierra la base de datos.

A continuación se muestra la implementación:

Python3

import csv
import sqlite3
  
  
try:
  
    # Import csv and extract data
    with open('student_info.csv', 'r') as fin:
        dr = csv.DictReader(fin)
        student_info = [(i['NAME'], i['AGE']) for i in dr]
        print(student_info)
  
    # Connect to SQLite
    sqliteConnection = sqlite3.connect('sql.db')
    cursor = sqliteConnection.cursor()
  
    # Create student table
    cursor.execute('create table student(name varchar2(10), age int);')
  
    # Insert data into table
    cursor.executemany(
        "insert into student (name, age) VALUES (?, ?);", student_info)
  
    # Show student table
    cursor.execute('select * from student;')
  
    # View result
    result = cursor.fetchall()
    print(result)
  
    # Commit work and close connection
    sqliteConnection.commit()
    cursor.close()
  
except sqlite3.Error as error:
    print('Error occured - ', error)
  
finally:
    if sqliteConnection:
        sqliteConnection.close()
        print('SQLite Connection closed')

Producción:

Publicación traducida automáticamente

Artículo escrito por amlankumarnandy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *