Hướng dẫn python extract zip file to temporary directory - python giải nén tệp zip vào thư mục tạm thời
Tôi đang cố gắng quay lại Python và tôi không chắc chắn bắt đầu từ đâu, nhưng tôi muốn tải xuống tệp zip cục bộ xuống temp, trích xuất các tệp và sau đó liệt kê các tệp (là 99,99% các tệp CSV thời gian) . Tôi muốn liệt kê các tệp để tôi có thể xử lý thêm một trong các tệp dựa trên logic với lợi ích của thư mục TEMP được xóa tự động. Show
Tôi có thể làm hầu hết ở trên trong R khá ngắn gọn, nhưng yêu cầu của tôi là ánh xạ ý tưởng này đến Python và từ các tìm kiếm trên Google ban đầu của tôi, các giải pháp mà tôi tìm thấy dường như không đơn giản cũng như không chính xác những gì tôi đang tìm kiếm. Mọi sự trợ giúp sẽ rất được trân trọng. Hỏi ngày 17 tháng 4 năm 2019 lúc 2:09Apr 17, 2019 at 2:09
Btibert3Btibert3Btibert3 37.6K44 Huy hiệu vàng126 Huy hiệu bạc167 Huy hiệu đồng44 gold badges126 silver badges167 bronze badges 1 Chúng tôi bắt đầu bằng cách tải xuống tệp qua các yêu cầu
Sau đó chúng tôi trích xuất tệp zip vào /tmp bằng zipfile
Sau đó chúng tôi liệt kê các tập tin.
Đã trả lời ngày 17 tháng 4 năm 2019 lúc 2:41Apr 17, 2019 at 2:41
3
Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để giải nén hoặc trích xuất đơn, nhiều hoặc tất cả các tệp từ kho lưu trữ zip đến thư mục hiện tại hoặc khác nhau. Trong mô -đun Zipfile của Python, lớp Zipfile cung cấp chức năng thành viên để trích xuất tất cả các nội dung từ kho lưu trữ zip, ZipFile.extractall(path=None, members=None, pwd=None) Nó chấp nhận các đối số sau:
Yêu cầu mô -đun: from zipfile import ZipFile Hãy để sử dụng điều này để trích xuất tất cả các nội dung từ các tệp zip. Trích xuất tất cả các tệp từ tệp zip vào thư mục hiện tạiGiả sử chúng ta có một tệp zip ‘sample.zip. Trong thư mục hiện tại của chúng tôi, hãy để xem cách trích xuất tất cả các tệp từ nó. Để giải nén nó trước tiên tạo một đối tượng zipfile bằng cách mở tệp zip ở chế độ đọc và sau đó gọi trích xuất () trên đối tượng đó, tức là. # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall() Nó sẽ trích xuất tất cả các tệp trong zip tại thư mục hiện tại. & Nbsp; & nbsp; nếu các tệp có cùng tên đã có mặt tại vị trí trích xuất thì nó sẽ ghi đè lên các tệp đó. Quảng cáo Trích xuất tất cả các tệp từ tệp zip sang thư mục khác nhauĐể trích xuất tất cả các tệp từ tệp ZIP sang một thư mục khác, chúng ta có thể chuyển vị trí đích dưới dạng đối số trong Extractall (). Đường dẫn có thể là tương đối hoặc tuyệt đối. # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') Nó sẽ trích xuất tất cả các tệp trong ‘sample.zip, in & nbsp; Thư mục tạm thời.temp folder. Trích xuất một vài tệp từ một tệp zip lớn dựa trên điều kiệnGiả sử chúng ta có một tệp zip rất lớn và chúng ta cần một vài tệp từ hàng ngàn tệp trong kho lưu trữ. Giải nén tất cả các tập tin từ zip lớn có thể mất vài phút. Nhưng nếu chỉ quan tâm đến một vài tệp được lưu trữ, thì & nbsp; thay vì giải nén toàn bộ tệp, chúng ta cũng có thể trích xuất một tệp duy nhất từ tệp zip. Trong mô -đun Zipfile của Python, lớp Zipfile cung cấp chức năng thành viên để trích xuất một đơn từ tệp zip, ZipFile.extract(member, path=None, pwd=None) Nó chấp nhận các đối số sau:
Hãy để sử dụng điều này để chỉ trích xuất các tệp CSV từ tệp zip, tức là. # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Get a list of all archived file names from the zip listOfFileNames = zipObj.namelist() # Iterate over the file names for fileName in listOfFileNames: # Check filename endswith csv if fileName.endswith('.csv'): # Extract a single file from zip zipObj.extract(fileName, 'temp_csv') Nó sẽ chỉ trích xuất các tệp CSV từ kho lưu trữ zip đã cho. Ví dụ hoàn chỉnh như sau, from zipfile import ZipFile def main(): print('Extract all files in ZIP to current directory') # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall() print('Extract all files in ZIP to different directory') # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') print('Extract single file from ZIP') # Create a ZipFile Object and load sample.zip in it with ZipFile('sampleDir.zip', 'r') as zipObj: # Get a list of all archived file names from the zip listOfFileNames = zipObj.namelist() # Iterate over the file names for fileName in listOfFileNames: # Check filename endswith csv if fileName.endswith('.csv'): # Extract a single file from zip zipObj.extract(fileName, 'temp_csv') if __name__ == '__main__': main()& nbsp; Làm cách nào để trích xuất một tệp zip trong Python?Python3. # vào một vị trí cụ thể. Nhập mô -đun zipfile Tạo đối tượng tệp ZIP bằng lớp ZipFile. Gọi phương thức trích xuất () trên đối tượng tệp zip và truyền tên của tệp để được trích xuất và đường dẫn nơi tệp cần được trích xuất và trích xuất tệp cụ thể có trong zip.Call the extract() method on the zip file object and pass the name of the file to be extracted and the path where the file needed to be extracted and Extracting the specific file present in the zip.
Làm cách nào để tạo tệp TMP trong Python?Tạo các tập tin tạm thời.. Đầu tiên, chúng ta phải nhập tempfile sau đó tệp được tạo bằng hàm tạm thờifile () .. Tệp được mở trong chế độ W+B (cả đọc và ghi vào tệp mở) theo mặc định .. Hàm này tạo một tệp tạm thời trong thư mục tạm thời và trả về một đối tượng tệp .. Làm cách nào để tạo một thư mục tạm thời trong Python?Tạm thời () Hàm này tạo một tệp tạm thời trong thư mục TEMP và trả về một đối tượng tệp, tương tự như hàm Open-in () tích hợp..... Được đặt tênTemdyFile () Hàm này tương tự như hàm tạm thời ()..... Tạm thờiDirectory () Hàm này tạo ra một thư mục tạm thời..... Mkstemp () .... mkdtemp () .... gettempdir(). Làm cách nào để trích xuất một tệp zip trong máy tính xách tay Jupyter?Bài viết này sẽ trình bày thông qua các ví dụ cách giải quyết cách trích xuất tệp zip trong lỗi Notebook Jupyter ... Zipped = [("A", 1), ("B", 2)]. đã giải nén_object = zip (*zipped). unzipped_list = list (unzipped_object) các phần tử được ghép nối riêng biệt trong tuple để tách các bộ dữ liệu .. print(unzipped_list). |