IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Stocker des données simplement => quelle solution ? [Python 2.X]


Sujet :

Python

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 272
    Points : 100
    Points
    100
    Par défaut Stocker des données simplement => quelle solution ?
    Bonjour, j'ai un programme python avec interface graphique qui me permet de renseigner des informations sur disons des pots de confiture.
    J'aimerais enregistrer ces informations et pouvoir les réutiliser.

    Dans un premier temps j'ai pensé à sqlite3 que j'avais utilisé ailleurs. Mais pour mon besoin je n'aurais qu'une unique table du type :

    Table : Pots
    • NumPot, int
    • Date, int
    • Fruit, string
    • Volume, int
    • Poid, int


    Par la suite je voudrais par exemple connaître le poids total des pots de type Fruit="framboise" entre telle date et telle date. J'ai donc besoin de pouvoir faire des requêtes.
    je n'aurais que quelques centaines d'enregistrement à terme.

    Pensez-vous qu'utiliser sqlite3 est démesuré ? Si oui, vers quelle solution me conseillez-vous de me diriger ? Je voudrais ce qu'il y a de plus simple.

    Infos supplémentaires :
    • application locale, pas de serveur
    • application personnelle et non critique, pas besoin de sécurité ni d'optimisation poussée


    Cordialement.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 617
    Points : 56 726
    Points
    56 726
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    sqlite3 est fourni en standard avec Python, c'est un SGBD fichier (pas de serveur justement) et plutôt léger. Tu peux regarder du côté des modules json ou pickle, pratiques pour échanger des données par un réseau par exemple, mais pour une application qui fonctionne en local...

    Mon avis est que pour quelques centaines de lignes sur lesquelles il faut requêter avec des critères un peu complexes et notamment sur des dates, je ne trouve pas sqlite démesuré pour une application personnelle.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 272
    Points : 100
    Points
    100
    Par défaut
    J'avais en arrière-pensée d'utiliser un simple fichier texte avec les méthodes python qui vont bien pour lire et écrire dans un fichier, mais je n'ai jamais pratiqué cette façon de faire. Je ne sais pas si cela est pratique pour stocker des "enregistrements" et pour y utiliser des méthodes type requêtes.

    Si vous me dites que sqlite3 est pertinent pour ce genre d'application (besoin d'une seule table), alors je partirai là dessus.

    J'attends un retour quant à l'utilisation de fichier texte et je passerai le sujet en "résolu" si sqlite3 reste le plus approprié.

  4. #4
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Le problème dans ce genre d'application, c'est qu'après quelques mois d'utilisation, on a TOUJOURS de nouvelles questions à poser à la base de données, qui n'étaient absolument pas prévues au départ.

    - Avec sqlite3, il suffira d'ajouter une requête SQL. On pourra même convertir son résultat en fichier csv pour reprise dans Excel. En cas de besoin, il y a même possibilité de questionner la base de données directement avec un autre programme (moi, je fais ça avec "sqlite expert"). Et il y a même un plugin firefox qui sait faire ça .

    - Avec un fichier texte, il faudra se "farcir" un nouveau développement Python à chaque nouvelle question...

    Bref: pour un tel programme, j'utiliserais sqlite3 sans aucun doute.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 272
    Points : 100
    Points
    100
    Par défaut
    Ok vendu pour sqlite3.

    Merci pour les précisions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle implementation pour stocker des données
    Par jfouche dans le forum C++
    Réponses: 2
    Dernier message: 11/08/2010, 21h07
  2. [VB]stocker des données de pages web dans une base
    Par tofito dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/02/2006, 11h02
  3. [MySQL] Stocker des données dans un tableau
    Par LadyArwen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h40
  4. Réponses: 2
    Dernier message: 15/06/2005, 17h32
  5. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo