• Ogłoszenie:

Jak zoptymalizować przetwarzanie bardzo dużych plików csv (n

Wszystko odnośnie szerokiej tematyki Internet, oraz sieci komputerowe

Jak zoptymalizować przetwarzanie bardzo dużych plików csv (n

Postprzez johndavidd88 20 Lis 2025, 09:09

reklama
Cześć wszystkim,

Pracuję nad projektem, w którym muszę przetworzyć bardzo duże pliki CSV (rozmiar od 2 do 10 GB), analizując dane, agregując je i zapisując wyniki do nowego pliku lub bazy danych. Moje dotychczasowe podejście w Pythonie wygląda tak:

używam pandas.read_csv z parametrem chunksize,

agreguję dane w pętli,

zapisuję wyniki partiami (batch) do pliku CSV lub do bazy SQLite.

Jednak napotykam na problemy:

Zużycie pamięci RAM nadal rośnie przy większych chunkach — nie mogę ustawić ich zbyt dużych.

Czas przetwarzania jest znaczny – wczytywanie + agregacja + zapis zabiera dziesiątki minut.

Przy zapisie wyników zauważyłem, że plik wynikowy robi się bardzo duży albo zapis do bazy jest wolny.

Chciałbym zapytać społeczność:

Czy macie doświadczenie z bardziej wydajnym przetwarzaniem plików CSV w Pythonie (lub innym języku)?

Jakie biblioteki lub podejścia stosujecie do agregacji niektórych wartości (sumy, średnie, filtrowanie) na tak dużych danych?

Czy polecacie użycie dask, vaex, polars lub innych narzędzi? Jak sprawdzają się w praktyce?

Jakie strategie zapisu wyników są najbardziej efektywne – plik dzielony, baza lokalna, baza SQL z opcją batch insert?

Chciałbym zoptymalizować zarówno zużycie pamięci, jak i czas, bez utraty czytelności kodu. Każda rada lub fragment kodu będzie bardzo pomocny — dzięki z góry za wszelką pomoc!

Pozdrawiam,
Steal Brainrot Game
johndavidd88
~user
 
Posty: 30
Dołączenie: 14 Wrz 2022, 10:49



Powróć do Internet & Sieci

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 19 gości