我path_to_zip_file在只讀系統中有一個 zip 存檔。棘手的是我需要解壓縮其內容并打開testfile.csv包含在 zip 存檔中的 CSV 檔案。請注意 zip 存檔包含許多不同的檔案,但我只想從中獲取 CSV 檔案。
我的目標是將這個 CSV 檔案的內容放入 pandas dataframe 中df。
我的代碼如下所示。有沒有辦法更新它,使其可以在只讀系統中執行?換句話說,如何在不寫入磁盤的情況下在記憶體中運行它?
import zipfile
import pandas as pd
path_to_zip_file = "data/test.zip"
directory_to_extract_to = "result"
with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
zip_ref.extractall(directory_to_extract_to)
csv_file_name = "testfile.csv"
df = pd.read_csv("{}/{}".format(directory_to_extract_to,csv_file_name), index_col=False)
uj5u.com熱心網友回復:
簡單的方法是將其解壓縮到 /tmp,這是 RAM 中的一個目錄。您還可以使用 python 的tempfile庫來創建一個臨時目錄并將其解壓縮到那里(它可能只會在 /tmp 中創建一個目錄)
uj5u.com熱心網友回復:
使用ZipFile.open已經打開的存檔,我們可以這樣做:
import zipfile
import pandas as pd
with zipfile.ZipFile("archive.zip") as archive:
with archive.open("testing.txt") as csv:
df = pd.read_csv(csv)
print(df)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/317972.html
