Partage
  • Partager sur Facebook
  • Partager sur Twitter

exercice PYthon

stats de fichier csv

    6 avril 2020 à 17:37:03

    Bonjour et merci d'avance pour votre.vos réponse.s !

    Je bloque sur cet exercice :

    Écrire une fonction statsCSV(fichier) où fichier est le nom d'un fichier CSV et qui affiche le nombre de lignes et le nombre colonnes de la table stockée dans le fichier. 

    ----

    Voilà ce que j'ai fait :

    from csv import *
    def statsCSV(fichier):
        file= open(fichier,"r")
       
        c=???
        l=??
        
      
        print("Ce tableau a",c, "colonne.s et",l,"colonne")
        file.close()
        
        
    statsCSV("countries.csv")
    ------
    Connaîtriez-vous une méthode simple pour calculer le nombre de lignes et de colonne ?
    Merci beaucoup :D
    • Partager sur Facebook
    • Partager sur Twitter

    La cuisine est un don de dieu, les épices un don du diable… je crois que c’était un peu trop épicé pour moi

      6 avril 2020 à 17:42:30

      Il faudrait peut-être déjà commencer à initialiser tes compteurs, non ?

      Ensuite, utilise une boucle for pour itérer sur ton fichier for line in file:

      Ensuite c'est de la logique, il faut découper chaque ligne pour avoir ensuite le nombre de colonnes.

      Comment on découpe ? Avec la méthode split

      Toutes les infos que je te donne, faut les chercher dans les docs... 

      -
      Edité par fred1599 6 avril 2020 à 17:43:14

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        7 avril 2020 à 16:26:30

        from csv import *
        def statsCSV(fichier):
            file= open(fichier)
            c= 0
            l=0
            file=file.split()
            for line in file:
                l=l+1
            for column in line:
                c=c+1
            file.close()
        statsCSV("countries.csv")
        Quelque chose comme cela ? 
        AttributeError: '_io.TextIOWrapper' object has no attribute 'split'
        • Partager sur Facebook
        • Partager sur Twitter

        La cuisine est un don de dieu, les épices un don du diable… je crois que c’était un peu trop épicé pour moi

          7 avril 2020 à 16:35:41

          split est une méthode de chaînes de caractères pas de fichiers. Il y a des exemples à la pelle sur le net, je comprend pas que tu ne trouves pas ton bonheur.

          Utilises with open à la place de open pour être plus safe

          Fait tes recherches en anglais du style "read file line by line and split csv python" sur ton moteur de recherche préféré...

          • Partager sur Facebook
          • Partager sur Twitter

          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

            13 avril 2020 à 15:18:03

            j'ai finalement réussi à m'en sortir de cette manière là :

            import csv
            def statsCSV(fichier):
               
                file = open(fichier,"r")
                donnees = csv.reader(file)
                ligne = list(donnees)
                nb_ligne= len(ligne)
                nb_colonne=len(ligne[0])
                return  nb_ligne, nb_colonne
            file.close()
            print(statsCSV("countries.csv"))
            

            en tout cas, merci pour l'aide

            • Partager sur Facebook
            • Partager sur Twitter

            La cuisine est un don de dieu, les épices un don du diable… je crois que c’était un peu trop épicé pour moi

            exercice PYthon

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown