Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comparer 2 fichiers texte et remplacer

    22 mars 2019 à 20:45:00

    Quentin CUNY a écrit:

    @fred1599 ça me décompose (retour à la ligne à chaque mot)


    Encore une fois on ne comprend pas, donne un exemple d'une ligne que tu as et ce que tu attendais.

    Je crois savoir ce que tu attendais, heureusement que j'ai tes fichiers

    import os
         
    SIZE = 1024 * 1024
    WORDS = [None for _ in range(SIZE)]
         
    def readFile(path):
        if not os.path.exists(path):
            raise OSError('file does not exist, bad path -> {}'\
                .format(path)
            )
             
        with open(path, encoding="ascii", errors='ignore') as f:
            for line in f:
                line = line.strip()
                if line:
                    n, *word = line.split()
                    try:
                        n = int(n)
                        value = WORDS[n]
                        if not value:
                            if word:
                                WORDS[n] = ' '.join(word)
                    except ValueError:
                        print('error format line: {}'.format(line))
         
    f1 = readFile('francais.txt')
    f2 = readFile('turc.txt')
         
    with open('result.txt', 'w') as f3:
        for n, word in enumerate(WORDS):
            if word:
                f3.write('{}\t{}\n'.format(n, word))
    



    -
    Edité par fred1599 22 mars 2019 à 20:46:45

    • 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)

      22 mars 2019 à 20:55:21

      Je voulais dire que le problème c'est tout les accents comme "é", "è" etc

      -
      Edité par Quentin CUNY 22 mars 2019 à 20:56:16

      • Partager sur Facebook
      • Partager sur Twitter
        22 mars 2019 à 21:00:14

        Enlève les paramètres encoding et errors sur la ligne with open
        • 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)

          22 mars 2019 à 21:09:49

          Wow merci beaucoup !

          J'ai une autre question, si j'ai la même chose sur d'autres fichiers mais des fonctions au lieu de nombre à chaque début de ligne, exemple:

          REFINE_COST_UPGRADE	[i] Arttırma maliyeti
          REFINE_CURRENT_ITEM	[i] Şimdiki eşya
          REFINE_NEXT_ITEM	[i] Sonraki Eşya
          REFINE_NEED_ITEMS	[i] Yükseltme için gerekli öğeler

          Le script que tu m'as donné ne marchera pas je suppose ?

          • Partager sur Facebook
          • Partager sur Twitter
            22 mars 2019 à 21:18:13

            Oui, car tu as la ligne 18 qui essaie de convertir la valeur en une valeur entière et qui sera l'indice de WORDS où on placera le reste de la ligne. C'est une technique connue !

            Dans ce cas la solution de @thelinekioubeur sera plus proche de ce que tu souhaites je pense.

            • 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)

            Comparer 2 fichiers texte et remplacer

            × 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