0
votes

Conversion de la liste exportée Python .txt à la liste de Python ordinaire

J'essaie de convertir un fichier .txt à la liste Python ordinaire. Je l'ai déjà fait, mais les situations précédentes ont impliqué des fichiers construits manuellement. J'essaie actuellement de traiter un fichier .txt composé par un autre script Python qui a écrit une liste dans ledit fichier .txt. Je ne sais pas pourquoi ces formats sont perçus comme différents par Python

Voici ce que je veux dire: p>

Le premier .txt ressemblait à: p>

(appelons-le x. txt) p> xxx pré>

maintenant si je le fais: p> xxx pré>

i get p> xxx pré >

C'est exactement ce que je veux ^ p>

mon fichier actuel .txt ressemble à: p>

(appelons-le y.txt) p>

['[\'I like dogs. \', \'Go home\', \'This is the greatest Ice Cream 
ever\',]]


2 commentaires

Quand vous économisez ['j'aime les chiens', "rentrer à la maison", "c'est la plus grande crème glacée jamais"] dans le fichier texte, ils seront enregistrés avec la mise en forme de chaîne et à nouveau pendant que vous DO READLINES () Ces chaînes converties-to-mono-à-une seule seraient dans une liste.


@ pistol2myhead je pensais quelque chose comme ça était le problème. Connaissez-vous un moyen autour de cela?


3 Réponses :


0
votes

liste peut être extrait directement à partir de y.txt comme xxx


2 commentaires

Même chose que ci-dessus: Malheureusement, je reçois un "" charmap 'codec ne peut pas décoder octet 0x9D en position 8090: Cartes de caractères vers "" erreur ici. Il y a des caractères non alphabétiques dans mes données réelles.


Travaillé parfaitement bien sur ma machine pour les deux versions de Python.



0
votes

S'il n'y a qu'une seule ligne contenant votre liste sous forme de chaîne et c'est la première ligne, je vous suggérerais d'essayer ce xxx

maintenant, vous devriez pouvoir utiliser la liste - lis

laissez-moi savoir si cela a fonctionné.


1 commentaires

Malheureusement, je reçois un "" charmap 'codec ne peut pas décoder octet 0x9d en position 8090: cartes de caractères vers "erreur ici. Il y a des caractères non alphabétiques dans mes données réelles.



1
votes

Si votre fichier 'y.txt' code> contient ce fichier ['J'aime les chiens', "rentre chez toi", c'est la plus grande crème glacée jamais "] code> sans Formatage des chaînes et après la lecture des lignes de texte Vous souhaitez obtenir la liste attribuée à une variable, essayez ceci:

from ast import literal_eval
with open('y.txt', 'r', encoding = 'utf-8') as f:
    b = f.readlines()
    l = [literal_eval(k.strip()) for k in b]


0 commentaires