The documentation for the MIME type ZIP does not seem to say much about what you want to do, but luckily the first thing I tried worked!
First, I saved your zip file onto my desktop. Then, I extracted the first level of file names (note that "FileNames"
is the default option, so is not explicitly needed)
In[1]:= fn1 = Import["/home/simon/Desktop/RV120312.zip", "FileNames"]
Out[1]= {"today_rv.zip"}
Then the second level of file names
In[2]:= fn2 = Import["/home/simon/Desktop/RV120312.zip", {fn1[[1]], "FileNames"}]
Out[2]= {"TGENTRADES.M3", "CCONTRGRP.C2", "CCONTRTYP.C2", \
"CCONTRACTS.C2", "CCONTRSTAT.C2", "CTHEORPRICES.C2", "CDELTAS.C2", \
"CINTRASPR.C2", "CINTERSPR.C2", "CVALARRAYS.C2", "CYIELDCURVE.C2", \
"CVOLATILITYSKEW.C2", "MCONTRACTS.M3"}
Finally, I extracted, for example, the third file in the inner archive
In[4]:= Import["/home/simon/Desktop/RV120312.zip", {fn1[[1]], fn2[[3]]}]
Out[4]= {{"\"20120312\";\"C2\";\"20\";\"0100\";\"FuturoC IBEX MINI\";1;1",
"00;\"EUR\";\"1\";\"FFICSX\""}, {...}, ....}
I think that this final Import
defaulted to a CSV import, when you seem to want to separate elements by semicolons (";"
), so you should use:
In[5]:= Import["/home/simon/Desktop/RV120312.zip",{fn1[[1]], fn2[[3]], "Table"},
"FieldSeparators"->";"] // Short[#,3]&
Out[5]//Short= {{20120312, C2, 20, 100, FuturoC IBEX MINI,
1, 1,00, EUR, 1, FFICSX}, <<916>>,
{20120312, C2, VI, 240, Contado VIVENDI,
1, 1,00, EUR, 2, ESXXXX}}
Note that you could, e.g., use a While
loop to automate the digging down to the lowest level of the archive.