![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 384 Pomógł: 13 Dołączył: 16.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam plik csv który zajmuje 140 MB, serwer nie daje rady jest "Out of memory" i zastanawiam sie czy nie da sie jakos partiami wczytywac pliku zeby tylko jego czesc byla w pamieci a pozniej kolejna czesc odczytac i przerobic ? Ewentualnie jakis inny sposob, jestem w kropce, juz 2 godziny nad tym siedze ... w komentarzach w manualu znalazlem klase CsvImporter która niby to robi, ale jak odczytam przed tym plikiem jakis jeszcze wczesniej, to tez mam "Out of memory". Moze daloby sie przerobic jakos ta klase zeby nie zajmowala tyle pamieci ?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Dodam tylko jeszcze, że osobiście z dane z pliku wrzucam do tabeli tymczasowej o wszystkich kolumnach tekstowych. Dopiero potem przekształcam dane (np. w CSV mam liczbę jako 200 000,50 co przekształcam na 200000.50), zmieniam typy kolumn na właściwe (z tekstowych na np. numeryczne), usuwam nieprawidłowości w danych (np. potencjalne naruszenia kluczy obcych) itd. Dopiero mając w ten sposób obrobione dane przenoszę je do tabel właściwych.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:20 |