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 :

Charger requête SQL dans fichier .csv


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Charger requête SQL dans fichier .csv
    Bonjour,
    Je souhaiterais implémenter mon fichier .csv avec mes requêtes SQL. Le problème est qu'avec mon script j’arrive simplement a mettre mes deux requêtes l'une en dessous de l'autre dans le csv alors que je souhaiterais mettre ma deuxième requête dans la deuxième colonne.
    Voici mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    import sqlite3
    import csv
     
    # CONNEXION SQL
     
    connexion = sqlite3.connect(".\message-history.db")
     
    curseur = connexion.cursor()
     
    curseur.execute("SELECT localContact, message FROM history")
    results = curseur.fetchall()
     
     
    # SELECTION DE L'ENTÊTE
     
    headers = [i[0] for i in curseur.description]
     
    curseur.execute("SELECT message FROM history")
    results2 = curseur.fetchall()
    headers2 = [i[0] for i in curseur.description]
     
    # CREATION CSV
     
    with open('test.csv', 'w', newline='') as fp:
        csv = csv.writer (fp, delimiter=',', lineterminator='\r\n', quoting=csv.QUOTE_ALL, escapechar='\\') #\r retour à la ligne, \n nouvelle ligne
     
    # ECRIRE DANS LE CSV
     
        csv.writerow(headers)
        csv.writerows(results)
     
     
        csv.writerow(headers2) 
        csv.writerows(results2)
    Si quelqu'un a une solutions

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Si vous avez deux séquences A et B, afficher le i[SUP]ème élément de chaque séquence, ressemblera à un print(A[i], B[i]) dans une boucle qui fera varier i.

    Que les séquences A et B aient été construites à partir d'une requête SQL ou que ce soient de simples chaines de caractères comme A = 'abcd', B='1234' et afficher le résultat sur l'écran ou l'écrire dans un fichier ne change pas grand chose.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Merci de votre réponse mais je ne vois pas comment faire cela.
    Avez vous une solution à me proposer.
    Par avance Merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par maud42 Voir le message
    Merci de votre réponse mais je ne vois pas comment faire cela.
    Essayez de comprendre le problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> A = '1234'
    >>> B = 'abcd'
    >>> print(A)
    1234
    >>> print(B)
    abcd
    Si je veux afficher un élément de A et un élément de B:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> for i in range(len(A)):
    ...     print(A[i], B[i])
    ...
    1 a
    2 b
    3 c
    4 d
    >>>
    Citation Envoyé par maud42 Voir le message
    Avez vous une solution à me proposer.
    Si vous ne voulez pas comprendre le problème, pas facile d'envisager une solution. Et hélas, "programmer" c'est juste ce genre remues méninges.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/03/2012, 09h56
  2. Ecriture de requêtes SQL dans fichier .TXT
    Par Kevfou dans le forum Langage
    Réponses: 11
    Dernier message: 19/10/2011, 17h59
  3. requête sql pour fichier csv qui foire
    Par frboyer dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2009, 16h05
  4. Réponses: 2
    Dernier message: 14/03/2008, 17h02

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