Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?



  1. #1
    invitef702cf04

    Question Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?


    ------

    Bonjour à tous,

    Je souhaite lire un fichier txt avec python qui se présente comme ceci :

    [rs01, 1000]
    [rs02, 1200]
    [rs03, 1400]

    Je voudrais lire ces trois lignes et les concaténer dans une liste 2D sous forme de listes :

    [[rs01, 1000],[rs02, 1200],[rs03, 1400]]

    Pour cela j'utilise la méthode readlines. Le problème c'est que elle les renvoie sous forme de chaînes de caractères :

    ['[rs01, 1000]','[rs02, 1200]','[rs03, 1400]']

    Quelqu'un aurait quelque chose à me proposer ?


    Merci d'avance

    -----

  2. #2
    polo974

    Re : Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?

    et dans ta liste (de liste):
    [[rs01, 1000],[rs02, 1200],[rs03, 1400]]
    pour toi, rs01, c'est quoi ? ? ?

    pour python c'est une variable et donc si tu l'utilises avant de l'avoir créée, ça va poser problème...

    ou bien as-tu oublié de mettre des quotes:
    [['rs01', 1000],['rs02', 1200],['rs03', 1400]]

    et finalement, ce que tu voudrais, c'est peut-être un dictionnaire:
    dico={'rs01': 1000, 'rs02':1200, 'rs03':1400}
    comme ça tu pourrais faire:
    mille = dico['rs01]
    pour mettre 1000 dans la variable mille....

    de toute façon, il va te falloir parser tes lignes (de façon plus ou moins stricte selon que tu fais moins ou plus confiance à ton fichier texte).
    par exemple pour faire le dico:
    Code:
    for i in ['[rs01, 1000]','[rs02, 1200]','[rs03, 1400]']:
        t=i.split(',')
        k=t[0].strip(' [')
        v=int(t[1].strip(' ]'))
        d[k]=v
    à toi d'ajouter le contrôle dont tu pourrais avoir besoin...
    Jusqu'ici tout va bien...

  3. #3
    invitef702cf04

    Re : Python - Peut-on lire un fichier et envoyer les lignes dans une liste au lieu d'une string ?

    Super, c'est très clair

    Merci beaucoup !

Discussions similaires

  1. lire les valeurs des couples Xi,Yi contenue dans un fichier
    Par invitee10e01bc dans le forum Programmation et langages, Algorithmique
    Réponses: 13
    Dernier message: 04/10/2011, 00h47
  2. [C++] octet d'un fichier dans un string
    Par invite588b7304 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 19/09/2011, 14h19
  3. une corde dans les boucles ? (string + LQG)
    Par doul11 dans le forum Physique
    Réponses: 4
    Dernier message: 22/04/2010, 09h37
  4. lire un fichier audio stocké dans une carte SD avec un pic
    Par inviteeaa08723 dans le forum Électronique
    Réponses: 0
    Dernier message: 28/11/2008, 10h59
  5. [ksh] lire reellement les lignes d un fichier
    Par raoulglloq dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/07/2005, 11h06