0
votes

Comment convertir un fichier texte en liste de python3

in python3, à partir d'un fichier .txt existant contenant des paroles / subtitle / autres, Je veux faire une liste simple (sans ni niché) des mots existants, sans espaces ni autres signes d'interpol.

Basé sur d'autres demandes Stackexchange, j'ai fait ce P>

Traceback (most recent call last):
  File "4.4.4.csv.into.list.py", line 72, in <module>
    print (re.findall(r"[\w']+", ultimate))
  File "/usr/lib/python3.7/re.py", line 223, in findall
    return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object


1 commentaires

Le deuxième paramètre de re.findall (ultime dans cet exemple) devrait être une chaîne. Vous passez une liste de chaînes.


3 Réponses :


0
votes

Le message d'erreur est complètement effacé "Charge prévu ou objet similaire à des octets" code>. Ça désigne votre ultime code> doit convertir en tant que chaîne (str) code>, et lorsque vous cochez le type type code> de votre ultime code> est Liste code> objet. xxx pré>

dans votre cas; p>

print (re.findall(r"[\w']+", str(ultimate)))  # original text

# or

print (re.findall(r"[\w']+", ' '.join(ultimate)))  # joined words


1 commentaires

Wow, cela fonctionne, puis-je demander une explication plus poussée? Imprimer (Rev.Findall (R "[\ W '] +", Str (Ultimate))) amène-moi de la sortie comme "" elle "," aime "," tu "", "", "", ",", "," "", "Ouais '", "" "," Ouais' "", "" Elle "," aime "," vous "", tandis que l'imprimé (r "[\ windall] +" .join (Ultimate)) donne différemment (plus propre) 'Elle', "aime", "toi", "Ouais", "Ouais", "Ouais", "Elle", "aime", "Yeah ',. Quelle est la différence?



0
votes

Essayez ceci:

import csv

crimefile = open('she_loves_you.txt', 'r')
reader = csv.reader(crimefile)
allRows = list(reader) # result is a list with nested lists

ultimate = []
for i in allRows:
    ultimate += i.split(" ")


1 commentaires

Eh bien, ici, nous avons une erreur $ python3 4.4.4.csv.into.list.py Traceback (appel le plus récent): fichier "4.4.4.csv.into.list.py", ligne 108, dans Ultimate + = i.split ("") AttributeError: "Liste 'objet n'a pas d'attribut' Split '



0
votes

Le ci-dessous est une sortie complète du travail que j'ai fabriqué dans la zone de cette question xxx


0 commentaires