我想直接從谷歌雲存儲中讀取壓縮文件,並用Python csv包打開它們。 本地文件的代碼如下:谷歌雲存儲的流式gzip文件
def reader(self):
print "reading local compressed file: ", self._filename
self._localfile = gzip.open(self._filename, 'rb')
csvReader = csv.reader(self._localfile, delimiter=',', quotechar='"')
return csvReader
我曾與幾個GCS的API(基於JSON,cloud.storage)出場,但他們都不給我的東西,我可以通過gzip的流。更重要的是,即使文件是未壓縮的,我也無法打開文件並將其提供給cv.reader(Iterator類型)。
我的壓縮CSV文件約爲500MB,而未壓縮的文件最多使用幾GB。我認爲這不是一個好主意:1 - 在打開它們之前在本地下載文件(除非我可以重疊下載和計算)或2 - 在計算之前將其完全打開到內存中。
最後,我當前在我的本地機器上運行這段代碼,但最終我將移動到AppEngine,所以它也必須在那裏工作。
謝謝!
怎麼樣在多個部分分割您的檔案? – Raito 2015-02-08 21:20:12
這已經是1 + TB數據集的多個部分。 :D打破它似乎是一個不必要的想法。我正在嘗試Alex Martelli的建議。 – user1066293 2015-02-11 07:33:55