В Python3 из существующего файла .txt, который содержит тексты / субтитры / другие, я хочу составить простой (без вложений) список существующих слов, без пробелов и других знаков пересечения.
Основываясь на других запросах StackExchange, я сделал это
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 # result is a list with elements longer than one word
ultimate2 = []
for i in ultimate:
ultimate2 += i # result is a list with elements which are single letters
мой желаемый результат будет выглядеть как
['She', 'loves', 'you', 'yeah', 'yeah', 'yeah', 'She', 'loves', 'you', ...]
======================= ================================================== ====
Интересно также понять, почему код (он работает как расширение вышеупомянутого):
import re
print (re.findall(r"[\w']+", ultimate))
приводит к следующей ошибке:
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