Mi base de datos sqlite3 contiene una restricción de columna "intercalar". Lo coloqué en el esquema de la tabla para evitar accidentalmente dejar de usar la intercalación necesaria. Sin embargo, esto significa que al ejecutar sqlite3
desde la línea de comandos y no desde mi código de Python, la intercalación a la que se hace referencia en el esquema no está presente y no puedo usar comandos de punto.Ejecutar comandos sqlite3 "punto" de Python o registrar intercalación en la utilidad de línea de comandos
sqlite> .import data.txt table_name
Error: no such collation sequence: my_collation
Por otra parte, la creación de la conexión de Python, y la adición de la colación requerida se encuentra con este problema:
connWithCollation.execute(".import data.txt table_name")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
sqlite3.OperationalError: near ".": syntax error
La función execute
al parecer no quiere pasar el comando sqlite3 punto través.
¿Cómo puedo ejecutar los comandos sqlite3 dot cuando las funciones de intercalación necesarias no están presentes? Alternativamente, ¿cómo puedo ejecutar comandos sqlite3 dot desde Python?
Algunos comandos parecen estar lejos de ser triviales. ¿Cómo agregaría encabezados o elegiría el separador de columnas? –