Saltar al contenido

¿Cómo exportar sqlite a CSV en Python sin formatearlo como una lista?

Solución:

Lo que está haciendo actualmente es imprimir la representación de cadena de python de una tupla, es decir, el valor de retorno de str(row). Eso incluye las comillas, las ‘u’ y los paréntesis, etc.

En su lugar, desea que los datos tengan el formato adecuado para un archivo CSV. Bueno, prueba el csv módulo. Sabe cómo formatear cosas para archivos CSV, como era de esperar.

with open('output.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerow(['Column 1', 'Column 2', ...])
    writer.writerows(data)

mi versión que funciona sin problemas con solo un par de líneas.

import pandas as pd

conn = sqlite3.connect(db_file, isolation_level=None,
                       detect_types=sqlite3.PARSE_COLNAMES)
db_df = pd.read_sql_query("SELECT * FROM error_log", conn)
db_df.to_csv('database.csv', index=False)

Si desea un archivo separado por tablas, cambie la extensión .csv a .tsv y agregue este sep='t'

La conversión de una tabla de base de datos sqlite a un archivo csv también se puede hacer directamente usando las herramientas sqlite3:

>sqlite3 c:/sqlite/chinook.db
sqlite> .headers on
sqlite> .mode csv
sqlite> .output data.csv
sqlite> SELECT customerid,
   ...>        firstname,
   ...>        lastname,
   ...>        company
   ...>   FROM customers;
sqlite> .quit

Los comandos sqlite3 anteriores crearán un archivo csv llamado data.csv en su directorio actual (por supuesto, este archivo puede tener el nombre que elija). Más detalles están disponibles aquí: http://www.sqlitetutorial.net/sqlite-export-csv/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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