2013-05-30 70 views
0

我有一個zip文件,其中包含數千個混合的.xml和.csv文件。我用下面的提取zip文件:使用python提取提取文件

import zipfile 

zip = zipfile.ZipFile(r'c:\my.zip') 

zip.extractall(r'c:\output') 

現在我需要提取包含在「C:\輸出」數以千計的單獨的zip文件夾。我打算將.csv文件連接成一個文件。感謝您的幫助!

+0

所以,你真的有什麼是包含zipfiles一個壓縮文件? –

+0

是的,它解壓縮爲.csv和.xml文件。 – user2437728

回答

1

試試這個代碼:

import zipfile , os 

zip = zipfile.ZipFile(r'c:/my.zip') 

zip.extractall(r'c:/output') 

filelist = [] 
for name in zip.namelist(): 
    filelist.append(name) 



zip.close() 
for i in filelist: 


    newzip = zipfile.ZipFile(r'c:/output/'+str(i)) 
    for file in newzip.namelist(): 
     if '.csv' in file : 
      newzip.extract(file,r'c:/output/') 
    newzip.close() 
    os.remove(r'c:/output/'+str(i)) 
+0

感謝您的代碼!它給出了以下錯誤: – user2437728

+0

運行字符串文字時的EOL – user2437728

+0

此外:Traceback(最近呼叫最後): 文件「C:/Python33/extractzip.py」,第3行,在 zip = zipfile.ZipFile(r 'C:\ ERCOT Pricing \ Test') 文件「C:\ Python33 \ lib \ zipfile.py」,第912行,在__init__中 self.fp = io.open(file,modeDict [mode]) PermissionError: Errno 13] Permission denied:'C:\\ ERCOT Pricing \\ Test' – user2437728