我有一些Zip文件{'File1.zip', 'File2.zip', 'File3.zip',..., 'FileN.zip'}
,其中每個zip文件包含一個Data.csv
文件。我想讀取每個Zip文件的'Data.csv'
中的數據,而不必提取Zip文件的內容。這可能嗎..?讀取Zip文件中的CSV文件的數據而不用提取Matlab中的內容
2
A
回答
2
當然Winzip/7zip/Winrar沒有COM接口組件,可以直接調用,不像word,excel等其他應用程序。
因此@Java爲宜
想法是不實際提取文件,但建立這樣的Windows文件考慮的物理存在(類似於〜tmp文件)
這裏的文件的絕對路徑代碼
zipFilename = 'Ex.zip';
zipJavaFile = java.io.File(zipFilename);
%創建一個Java的ZipFile
zipFile = org.apache.tools.zip.ZipFile(zipJavaFile);
%從ZipFile中提取條目。
entries = zipFile.getEntries;
cnt = 1;
%獲取Zip文件路徑
while entries.hasNext
tempObj = entries.nextElement;
file{cnt,1} = tempObj.getName.toCharArray';
cnt = cnt+ 1;
end
%提取文件名
ind = regexp(file,'$*.csv$');
ind = find(~cellfun(@isempty,ind)); % Find Non Empty Cell Index
file = file(ind);
%創建絕對路徑,因此,Windows認爲是目錄
file = cellfun(@(x) fullfile('.',x),file,'UniformOutput',false);
%現在操作File上的任何內容。
+0
它可能是java版本相關的,但我不得不使用'while entries.hasMoreElements'而不是'entries.hasNext'來使它工作。好的伎倆否則。不要忘記在使用後提及** close * java zipfile('zipFile.close'),否則它將被鎖定,直到關閉Matlab。 – Hoki
相關問題
- 1. 閱讀zip文件的內容而不提取
- 2. 在csv文件,matlab的內容中讀取逗號
- 3. 在R中讀取zip文件而不知道其中的csv文件名
- 4. 從Zip文件中的文件讀取內容
- 5. 用Perl讀取zip文件內容
- 6. 在MFC中讀取.CSV文件內容
- 7. 從dataGridView中讀取數據而不是C#中的csv文件#
- 8. 從Zip文件中讀取CSV
- 9. 從Matlab中的文件讀取數據
- 10. 提取文件夾中的Zip文件
- 11. 提高從ZIP中讀取CSV文件的性能?
- 12. MATLAB CSV文件讀取
- 13. Matlab:從.csv文件讀取
- 14. Gradle,提取依賴zip和使用其文件中的內容?
- 15. 的web2py - 上傳文件並讀取內容爲Zip文件
- 16. 讀取silverlight中的ZIP文件的內容
- 17. 讀zip文件的內容而無需提取的什麼,我想實現
- 18. Ajax - PHP:從CSV文件中提取數據而不提交
- 19. FileReader/Scanner讀取文件名,而不是.txt文件的內容
- 20. 讀取文件名而不是文件中的數據
- 21. 使用ZipInputStream讀取和修改內部zip文件的內容
- 22. 從zip中提取文件
- 23. 從文件中讀取CSV數據
- 24. 在PHP中讀取CSV文件數據
- 25. 無法在Matlab中讀取文件數據與文本讀取
- 26. 一次從一個zip文件中讀取CSV文件
- 27. 讀取sharpsvn中的文件內容
- 28. Python - CSV將文本文件中的數據提取到CSV文件中
- 29. 使用MATLAB讀取CSV文件?
- 30. 從zip文件中讀取的C庫
您可以使用'unzip'命令提取文件,讀取它,並在以後刪除它,如果不需要它。 – buzjwa
我的想法是,而不是提取或刪除....我們是否可以直接閱讀內容使用actxserver應用程序或Java組件在MATLAB .... –
這是一個想法。您應該編輯問題以包含這種可能的方法。 – buzjwa