Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
sqlite3_csv_excel [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


sqlite3_csv_excel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Dernière révision Les deux révisions suivantes
sqlite3_csv_excel [2010/10/18 21:50]
tyrtamos
sqlite3_csv_excel [2010/10/18 22:17]
tyrtamos
Ligne 12: Ligne 12:
  
 Il faut bien dire que les fichiers CSV sont en même temps indispensables et très imparfaits. On va donc ici réduire nos ambitions. Il faut bien dire que les fichiers CSV sont en même temps indispensables et très imparfaits. On va donc ici réduire nos ambitions.
 +
 +==== Extraction de la base de données ====
  
 Quand on extrait des données de la base de données, on obtient une "liste de liste", chaque sous-liste représentant une ligne de données qui pourra donner, après transfert, une ligne de tableur dans Excel. Quand on extrait des données de la base de données, on obtient une "liste de liste", chaque sous-liste représentant une ligne de données qui pourra donner, après transfert, une ligne de tableur dans Excel.
Ligne 33: Ligne 35:
 </code> </code>
  
 +Et, bien sûr, le type de données récupérées correspond au type définis dans la table: chaine de caractère, entier ou réel. Ce sera important pour la suite: il faudrait que ces types de données soient transmis par le fichier CSV au tableur!
  
 +==== Ajouter des données à la base de données ====
  
 +A l'inverse, pour ajouter ou modifier des donnée à une table, on dispose d'une liste de liste comme précédemment. 
  
 +Voilà, par exemple, le genre de code qui permet d'ajouter des lignes à une table. La base a été ouverte avant par cnx = sqlite3.connect(nomdelabase): 
  
- +<code python> 
 +def ecriretable(cnx, table, LL): 
 +    """insere toutes les lignes de la liste LL dans la table  
 +       NB: la longueur des lignes doit correspondre à la table! 
 +       si la liste LL est vide => ne fait rien 
 +    """ 
 +    if len(LL)!=0: 
 +        cur = cnx.cursor() 
 +        # préparation de la ligne de requête 
 +        lg = len(LL[0]) 
 +        req = ("INSERT INTO " + table + " VALUES " + "(" + '?,'*lg)[:-1] + ')' 
 +        # insertion des lignes de la table 
 +        for ligne in LL: 
 +            cur.execute(req, tuple(ligne)) 
 +        cnx.commit()        
 +        cur.close() 
 +</code>
  
  
  
  
sqlite3_csv_excel.txt · Dernière modification: 2010/10/18 23:50 de tyrtamos