Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

Krótka wskazówka: jak odczytać bardzo duże pliki tekstowe za pomocą Pythona

by
Length:ShortLanguages:

Polish (Polski) translation by Mateusz Kurlit (you can also view the original English article)

Pozwól, że zacznę od pytania, naprawdę potrzebujemy Pythona do odczytania dużych plików tekstowych? Nie wystarczyłby do tego nasz zwykły edytor tekstowy? Kiedy piszę o dużych, mam na myśli bardzo duże pliki!

Zobaczmy czy istnieje dowód na to, że potrzebujemy Pythona do odczytania takich plików.

Uzyskanie pliku

Aby przeprowadzić nasz eksperyment, potrzebujemy bardzo dużego pliku tekstowego. W tym poradniku, pobierzemy plik ze strony internetowej UCSC Genome Bioinformatics. W tym przykładzie wykorzystamy plik hg38.fa.gz, który jest opisany poniżej jako:

"Soft-masked" assembly sequence in one file. Repeats from RepeatMasker and Tandem Repeats Finder (with period of 12 or less) are shown in lower case; non-repeating sequence is shown in upper case.

Nie martw się, jeśli nie rozumiesz o co chodzi w powyższym fragmencie, jest on związany z pojęciami z genetyki. W tym poradniku najważniejsza jest koncepcja odczytywania bardzo dużych plików tekstowych za pomocą Pythona.

Pobierz hg38.fa.gz (uwaga, plik waży 938MB). Aby wypakować plik, możesz użyć programu 7-Zip lub jakiegokolwiek innego narzędzia.

Po rozpakowaniu, otrzymasz plik o nazwie hg38.fa. Zmień nazwę na hg38.txt, aby uzyskać plik tekstowy.

Otwieranie pliku tradycyjnym sposobem

Pisząc tradycyjnym sposobem, mam na myśli otwarcie pliku za pomocą edytora tekstowego. Zobaczmy co się stanie, gdy spróbujemy to zrobić.

Najpierw podjąłem próbę otwarcia pliku za pomocą programu Microsoft Word i otrzymałem poniższy komunikat:

Microsoft Word cant open a file because its too large

Chociaż otwarcie pliku za pomocą programu WordPad i Notepad na komputerze z systemem Windows nie powiodło się, udało się to zrobić za pomocą programu TextEdit w systemie Mac OS X.

Wiesz o co mi chodzi, znajomość niezawodnego sposobu na otwarcie bardzo dużych plików z pewnością się przyda. W tej krótkiej wskazówce, dowiemy się jak to zrobić za pomocą Pythona.

Odczytywanie plików tekstowych za pomocą Pythona

W tej sekcji, dowiemy się jak odczytać nasz duży plik za pomocą Pythona. Powiedzmy, że chcemy odczytać pierwsze 500 wierszy naszego pliku tekstowego. Możemy po prostu wpisać:

Zwróć uwagę, że odczytujemy 500 wierszy z hg38.txt, wiersz po wierszu i zapisujemy je do nowego pliku tekstowego o nazwie output.txt, który powinien wyglądać tak.

Ale załóżmy, że chcemy bezpośrednio przeglądać plik tekstowy bez wyodrębniania wierszy i przesyłania do innego pliku tekstowego, zwłaszcza że ten sposób wydaje się być bardziej wygodny.

Przeglądanie dużego pliku tekstowego

Chociaż powyższy sposób pozwolił nam na odczytanie dużego pliku tekstowego poprzez wyodrębnienie wierszy i przesłanie ich do innego pliku tekstowego, bezpośrednie przeglądanie dużego pliku bez potrzeby wyodrębniania byłoby bardziej preferowane.

Możemy to wykonać wykorzystując Pythona do odczytania pliku tekstowego na ekranie terminalu (przeglądanie 50 wierszy jednocześnie):

Zgodnie z powyższym skryptem, możesz teraz odczytać i przeglądać duży plik tekstowy za pomocą terminalu: Aby zamknąć plik, wystarczy wpisać w terminalu STOP (wielkość liter ma znaczenie).

Jestem pewien, że zauważysz jak dzięki językowi Python możesz płynnie przeglądać tak duże pliki tekstowe bez żadnych problemów. Python ponownie udowadnia, że jest językiem ułatwiającym nasze życie!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.