Partage
  • Partager sur Facebook
  • Partager sur Twitter

write dans un fichier text, aller à la ligne \n

    27 octobre 2021 à 8:21:46

    bonjour:

    j'ai mon str qui va chercher des informations et ensuite je l'ai écrit dans un fichier txt, ça marche le seul soucis et que ma function write ne va pas à la ligne, donc il écrit l'information sur la même ligne et l'efface...

    query = cardname 
            data = scrython.cards.Search(q=query)
            
            for card in data.data():
                text = str(query + "|" + card['set_name'])
                eur = str(card["prices"]["eur"]) 
                usd = str(card["prices"]["usd"]) 
                total = eur + text
                print(query + "|", card['set_name'] + "| price :"+ eur + " eur" +"|" + usd + " $")
               
                
                text_file = open(path2+ "/"+"sample.txt", "wt")
                for text in texts:
                text_file.write(text + "|" + eur + "eur" + "/"+ usd + "$" + "\n")
                text_file.close()  

    je pense qu'il faut faire des += mais je ne sais pas comment

    • Partager sur Facebook
    • Partager sur Twitter
      27 octobre 2021 à 10:27:56

      (Message supprimé)

      -
      Edité par MatteoPandaure 27 octobre 2021 à 14:20:31

      • Partager sur Facebook
      • Partager sur Twitter
        27 octobre 2021 à 11:10:29

        Bonjour,

        Dans ta boucle for, tu ouvres à chaque tour ton fichier en écriture : wt

        donc le fichier est écrasé à chaque fois

        Il faudrait plutôt l'ouvrir en 'append' (ajouter à la fin) avec a:

        text_file = open(path2+ "/sample.txt", "a")



        -
        Edité par Phil_1857 27 octobre 2021 à 11:11:23

        • Partager sur Facebook
        • Partager sur Twitter
          27 octobre 2021 à 19:14:21

          merci beaucoup et tu sais comment je peux faire le total des prix??

          • Partager sur Facebook
          • Partager sur Twitter
            28 octobre 2021 à 1:27:30

            Tu veux faire le total en argent ou concaténer des chaînes?
                        eur = str(card["prices"]["eur"])
                        usd = str(card["prices"]["usd"])
                        total = eur + text
            Ça va te donner une chaîne ...
            euros = card["prices"]["eur"]
            dollars = card["prices"]["usd"]
            somme = euros + dollars
            Va te donner une somme en argent, bien qu'additionner des euros et des dollars ne fait pas grand sens.

            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              28 octobre 2021 à 9:22:16

              non,  je veux la somme des eur

              peut etre total = sum(eur)

              ??

              • Partager sur Facebook
              • Partager sur Twitter
                28 octobre 2021 à 9:54:58

                comment tu calcules une somme de plusieurs valeurs à la main (ou de tête) ? tu parcours les valeurs et tu les additionnes au résultat précédent
                • Partager sur Facebook
                • Partager sur Twitter
                  28 octobre 2021 à 10:29:59

                  je viens de voir avec ça

                  total = sum(map(int, str(card["prices"]["eur"])))

                  le problème est qu'il n'apprécie pas le '.' dans mes chiffres 11.40   0.50  32.20 (en gros les centimes)

                  comment je fais pour qu'il en tienne compte?

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 octobre 2021 à 10:44:16

                    Déjà, posez vous la question de savoir quel est le type de card["prices"]["eur"] (via type(...)) avant de le transformer en string. Et si c'est déjà un string, cette conversion ne sert à rien... Après un nombre représenté avec des '.' s'appellent nombres flottants: plutôt que de leur appliquer int, on leur applique float.

                    Enfin, sum s'applique à une liste de... card["prices"]["eur"] est juste une valeur.

                    -
                    Edité par mps 28 octobre 2021 à 10:45:15

                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 octobre 2021 à 11:14:59

                      je suis pas un pro mais quand je met float cela ne marche pas, card prices c'est une valeur 11.63, c'est tout

                      total = sum(map(float, card["prices"]["eur"]))

                      il ne peut convertir un string en float

                      -
                      Edité par beaudottesevran 28 octobre 2021 à 11:19:42

                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 octobre 2021 à 11:31:37

                        beaudottesevran a écrit:

                        je suis pas un pro mais quand je met float cela ne marche pas, card prices c'est une valeur 11.63, c'est tout

                        map tout comme sum s'appliquent à une séquence pas à un nombre tout seul

                        On ne peut pas faire marcher quelque chose avec n'importe quoi comme arguments, ...

                        Après c'est comme lorsqu'on écrit des phrases en français, on se relit et on essaie de comprendre si ce qu'on a écrit à du sens et traduit ce qu'on veut dire.

                        Pas besoin d'avoir vendu des tonnes de bouquins (être pro) pour devoir/savoir faire cela

                        • Partager sur Facebook
                        • Partager sur Twitter
                          28 octobre 2021 à 12:00:40

                          j'ai connu se site à l'epoque siteduzero, c'etait bien autre chose l'aide mainternant, il faut payer des cours (temps et argent) pour avoir une petite réponse,

                          je veux ça après je trouche plus au code

                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 octobre 2021 à 15:03:28

                            ça fait en principe partie des 1er exercices des tuto, le calcul d'une somme de nombres, quand on en est au niveau des boucles (en général, on demande le calcul des nombres de 1 à 100)

                            -
                            Edité par umfred 28 octobre 2021 à 15:04:00

                            • Partager sur Facebook
                            • Partager sur Twitter

                            write dans un fichier text, aller à la ligne \n

                            × 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