Cómo persistir datos entre ejecuciones en Python

Estoy trabajando en un proyecto personal en Python donde necesito algún tipo de datos persistentes. Los datos cabrían en 2-3 tablas de 10-20 columnas y 100-200 registros cada una. Tengo un conocimiento básico de SQL, por lo que una base de datos parece tener algún sentido.

Soy nuevo en Python, por lo que no estoy familiarizado con las opciones para la interfaz de base de datos de Python. También escuché sobre el decapado y no estoy seguro de si esa sería una mejor solución para el tamaño de mi proyecto. ¿Alguien puede recomendar una buena solución?

O bien, si solo desea conservar los datos entre ejecuciones, para un conjunto de datos tan pequeño, puede observar el módulo de decapado en busca de persistencia, y simplemente cargar los datos en la memoria durante la ejecución.

Es una solución simple, pero para un proyecto personal podría ser suficiente.

Debería usar el módulo sqlite3 para esto, está incluido en Python.

También es posible que desee también buscar una solución ORM .

Esto suena como muy pocos datos. Un DB de SQL puede ser excesivo, especialmente con un ORM en la parte superior. Comprobar si JSON podría hacer el trabajo …

Estoy de acuerdo con el uso de sqlite3. Es muy fácil de usar, no necesita preocuparse por tener que configurar un servidor de base de datos. También deberías visitar la biblioteca SQLAlchemy .

La pregunta real es realmente qué tipo de operaciones desea hacer con sus datos.

En cuanto a las posibilidades de almacenamiento, las soluciones más simples son sqlite3 y pickle .

La solución que elija dependerá básicamente de si usar SQL o Python es la forma más fácil de administrar sus datos. SQL es probablemente mejor en operaciones complejas que Python, pero Python es definitivamente más ligero y más simple, y por lo tanto es una buena opción para operaciones simples. Entonces, si usar pickle + Python es demasiado engorroso, sqlite3 es una muy buena opción.

Peewee es otro ORM que funciona con SQLite. Es una alternativa a SQLAlchemy. Si utilizo SQLite, consideraría a Peewee para proyectos de mascotas y SQLAlchemy para trabajo profesional. Normalmente no usaría SQLite directamente.