Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 1 Dołączył: 1.06.2010 Ostrzeżenie: (0%)
|
Mam plik baza.txt, który waży 45 MB i chcę z niego odczytać 100 linii zawrtości zaczynając odczyt od linii onumerze 10000.
Jakiej funkcji użyć do odczytu i jak czytać ? Dodam tylko, że file() deklaruje mi tyle pamięci, że nie da się załadować tak dużego pliku do pamięci . |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%)
|
przewinięcie do tak dużego pliku gdzie są nie regularne długości wersów trochę potrwa - 1 milion pomijając inne warunki to co najmniej sprawdzenie i zliczenie miliona znaków "\n" co musi minimalnie zająć pół sekundy (plus porównanie innych znaków) - w końcu patrzysz od początku pliku... tą techniką którą Ci wskazałem jesteś w stanie odczytywać baaaardzo duże pliki dosyć wydajnie - całość możesz wrzucić do jakiejkolwiek bazy danych, choćby płaskiej bazy danych jak SQLite gdzie każdy wiersz możesz mieć zindeksowany i dostęp do poszczególnych wierszy będzie szybszy...
ps. przecież interesowały Cię wielkości 100 razy mniejsze ;p - 10000 to nie to samo co milion ;D Ten post edytował zegarek84 2.11.2012, 22:38:30 |
|
|
|
fiasko [PHP]parsowanie pliku txt 2.11.2012, 21:20:17
Spawnm Nie da się od linii o numerze 10000.
Zainteresuj s... 2.11.2012, 21:22:18 
zegarek84 Cytat(Spawnm @ 2.11.2012, 21:22:18 ) ... 2.11.2012, 21:50:33
abort Możesz to zrobić, ale weź pod uwagę, że jeśli chce... 2.11.2012, 21:33:14
fiasko wygenerowałem dla testów plik z 1500000 linii kodu... 2.11.2012, 22:23:00
fiasko interesują mnie jeszcze większe bo będę dostawać p... 2.11.2012, 23:02:55 
zegarek84 Cytat(fiasko @ 2.11.2012, 22:54:30 ) ... 2.11.2012, 23:06:14
Crozin Wygląda na to, że masz do obrobienia duży plik i z... 2.11.2012, 23:30:26
zegarek84 w sumie też dobre pytanie, chyba, że nie ma dostęp... 2.11.2012, 23:39:04
fiasko Będę wykonywać operacje na obiektach, które w ścis... 3.11.2012, 00:43:53 
zegarek84 Cytat(fiasko @ 3.11.2012, 00:43:53 ) ... 3.11.2012, 01:11:07
Crozin A nie możesz po prostu wyłączyć limitu czasu wykon... 3.11.2012, 02:47:29
zegarek84 co racja to racja, będzie szybciej, ale liczyć nie... 3.11.2012, 12:31:49 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 22:20 |