Text to list in Python
W tym, krótkim artykule zajmiemy się zamianą wczytanego pliku .txt do listy w języku Python. Szukając rozwiązania, prawdopodobnie wpisałeś coś w rodzaju text to list in python, stąd też tytuł artykułu. Swoją drogą, jeżeli wciąż w listach czujesz się niepewnie to obczaj najpierw ten artykuł o takich rzeczach jak slicing i subsetting.
Kluczem jest użycie split()
Zwykła lista w Pythonie
Wyobraźmy sobie, że mamy taki plik tekstowy:
Converting
text to list
in python
is easy
Zaczynamy od tego, że wczytujemy plik (osobny post o czytaniu plików tutaj) używając open(file, mode)
. Oczywiście, file
to ścieżka do naszego pliku, a jako mode
damy „r” (for reading).
Tworzymy pustą listę.
Następnie tworzymy pętlę (czyli for loop
), która pozwoli nam przejść przejść przez kolejne linijki tekstu, zaś strip() usunie tzw. line breaks, czyli „n”, którym normalnie byłaby zakończona każda linijka.
a_file = open("t.txt", "r")
a_list = []
for line in a_file:
a_list.append(line.strip())
print(a_list)
a_file.close()
Rezultat:
['Converting', 'text to list', 'in python', 'is easy']
Nested list w Pythonie
Trochę bardziej złożony przykład polega na umieszczenia każdego słowo z linii w osobnej liście. Tutaj dochodzi nam jeszcze użycie split()
, dzięki któremu dzielimy linię na słowa.
a_file = open("t.txt", "r")
master_list = []
for line in a_file:
this_line = line.strip()
line_list = this_line.split()
master_list.append(line_list)
a_file.close()
print(master_list)
Rezultat wygląda tak:
[['Converting'], ['text', 'to', 'list'], ['in', 'python'], ['is', 'easy']]
Dla początkujący programista w pythonie, pewnie przeczyta taki kod z przyjemnością. Na nieco bardziej zaawansowanym poziomie, przydałoby się to trochę skrócić i użyć list comprehension.
with open("t.txt", "r") as a_file:
master_list = [(line.strip().split()) for line in a_file]
print(master_list)
Rezultat będzie identyczny jak poprzednio, czyli:
[['Converting'], ['text', 'to', 'list'], ['in', 'python'], ['is', 'easy']]
Skoro ogarniasz już zabawę listami, to może pora na regular expressions?
To tyle w tym temacie. Analizujcie w pokoju!
Podobał Ci się ten artykuł?
Podziel się nim w Social Mediach:
>>> udostępnij go na LinkedIn i pokaż, że codziennie uczysz się czegoś nowego
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości
Wolisz oglądać niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube
Inne ciekawe artykuły:
- Jak manipulować ludźmi, czyli kłamstwa którymi żyjemy.
- How to read a file in Python?
- Excel – tłumaczenia formuł.
A jeśli chcesz się dowiedzieć czegoś więcej o Pythonie – zajrzyj tutaj.