Başlığı yeni bir hatadan kapatıyormuş gibi davranıyor ve yeni bir kullanıcı değilim. Bir 3.5G bilinen 'train.zip' bir 3.5G dosyası 'train.csv' içeriyor. Zip dosyasını açın ve herhangi bir istisna olmadan dosyayı açın (LargeZipFile), ancak ortaya çıkan filestream boş görünüyor. (UNIX 'unzip -c ...' iyi olduğunu doğruladı) ZipFile.open() tarafından döndürülen dosya nesneleri aranabilir veya söylenemez, bu yüzden bunu kontrol edemiyorum.Açılış desteklenmeyen sıkıştırma türünün zip dosyası sessizce boş filestream yerine,
Python dağılımı 2.7.3 EPD'siz 7.3-1 (32 bit); ama büyük fermuarlar için iyi olmalı. OS nedeni birleşimidir MacOS 10.6.6
import csv
import zipfile as zf
zip_pathname = os.path.join('/my/data/path/.../', 'train.zip')
#with zf.ZipFile(zip_pathname).open('train.csv') as z:
z = zf.ZipFile(zip_pathname, 'r', zf.ZIP_DEFLATED, allowZip64=True) # I tried all permutations
z.debug = 1
z.testzip() # zipfile integrity is ok
z1 = z.open('train.csv', 'r') # our file keeps coming up empty?
# Check the info to confirm z1 is indeed a valid 3.5Gb file...
z1i = z.getinfo(file_name)
for att in ('filename', 'file_size', 'compress_size', 'compress_type', 'date_time', 'CRC', 'comment'):
print '%s:\t' % att, getattr(z1i,att)
# ... and it looks ok. compress_type = 9 ok?
#filename: train.csv
#file_size: 3729150126
#compress_size: 1284613649
#compress_type: 9
#date_time: (2012, 8, 20, 15, 30, 4)
#CRC: 1679210291
# All attempts to read z1 come up empty?!
# z1.readline() gives ''
# z1.readlines() gives []
# z1.read() takes ~60sec but also returns '' ?
# code I would want to run is:
reader = csv.reader(z1)
header = reader.next()
return reader
sıkıştırma türünü nasıl kontrol edileceğini biliyoruz, bu yüzden sessiz başarısızlık tahmin edebilirsiniz –
@MartinTaleski:? Ben bir hata açtı, onu çözüldü ve sıkıştırma türü bilinmediğinde, şimdi NotImplementedError'ı yükseltir.Yalnızca "yakalama" deneyebilirsiniz, EAFP felsefesi – smci