Python dosya boyutu hatası

erroshakan

Hectopat
Katılım
1 Mayıs 2020
Mesajlar
160
Çözümler
3
Merhaba arkadaşlar. Yaklaşık 160 mb bir koordinat dosyası ile çalışıyorum. Bir takım hesaplamalar yaptırmak istiyorum python a ama dosyayı tam açtığımda dosya boyutu çok büyük die bir uyarı veriyor. Sorum şu dosyayı parçalamaya gerek kalmadan tümüyle açsam işlem yaptırsam işlemi yaparmı. Yani o hata sadece görsel olarak gösterilmeyeceğiyle alakalı bir hata mı yoksa işlem yaparkende dosyanın tamamına işlem uygulayamıyacağını mı kasdediyor.
 
RAM de tutabildigi muddetce sorun yok, 160MB data bir sey degil. 160MB lik dosya uzerinde islem yaparken RAM de daha fazla yere ihtiyac duyacaktir tabi overhead yuzunden.

Stream yaparak da hesaplama yapabilirsin eger dosyanin basindaki ve sonundaki verilere ayni anda ihtiyacin yoksa ama sorun degil.

"Dosya boyutu cok buyuk" uyarisini ne sekilde veriyor Python? Ne yazdiginda tam olarak verdigi warning nedir?

Jupyter notebook'da falan dosyanin icindekileri gostermeye calisirken veriyor olmasin, dedigim gibi 160MB data bir sey degil, normalde warning vermemesi gerekiyor.
 
Pycharm ile kullanıyorum yazan şu. This file is to large. Showing in read-only mode.
Birde datayı excell ile düzeltmem gerekiyor misal 2 sütun arasına başka bir sütun koyup bütün satırlara bişey eklemek istiyorum. Excell ise sadece datanın 1milyon satırını alıyor, bnm data 2.5 milyon satır. Excel de dosyanın tamamını yüklemiyor, parçalamakda zor oluyor. Başka bir yöntem biliyormusunuz.
 
Pycharm ile kullanıyorum yazan şu. This file is to large. Showing in read-only mode.
Birde datayı excell ile düzeltmem gerekiyor misal 2 sütun arasına başka bir sütun koyup bütün satırlara bişey eklemek istiyorum. Excell ise sadece datanın 1milyon satırını alıyor, bnm data 2.5 milyon satır. Excel de dosyanın tamamını yüklemiyor, parçalamakda zor oluyor. Başka bir yöntem biliyormusunuz.
Pandas kullanabilirsin, Google a "Pandas Python chunksize" yazarsan karsina cikacaktir.
Basitce yaptigi, data yi "chunk" lara ayirip process etmene yardim etmesi. Chunk size a sen karar veriyorsun, buffer gibi calisiyor.

Yalniz ilk mesajda dedigim gibi, yapacagin islem, tum veriye ayni anda erismene gereksinim duyuyorsa bu yontem ise yaramaz.

RAM de tutabildigin boyutu asmiyorsa yapabiliyor olman gerek, arastirirsan bir yerlerde bu limitasyonu nasil override edebilecegini bulursun.
 
Çok sağolun. Pandas ı yeni duydum. Baktım güzelmiş. Artık parça parça ayırıp yaparım olmadı. Ram de tutabildiği derken benim ram 16 gb bunun bir etkisi olur mu?
 

Geri
Yukarı