Re: Excel XLS Import slowdown in version 8
- To: mathgroup at smc.vnet.net
- Subject: [mg116259] Re: Excel XLS Import slowdown in version 8
- From: Lou <lvveen32 at xs4all.nl>
- Date: Tue, 8 Feb 2011 05:08:42 -0500 (EST)
- References: <iig75v$rkm$1@smc.vnet.net> <iigpkd$212$1@smc.vnet.net>
On 4 feb, 12:58, Albert Retey <a... at gmx-topmail.de> wrote:
> Hi,
>
> > I have noticed in Mathematica version 8 that Excel (.xls, not the new
> > format) importing is about 3.5 times slower than in version 7. I
> > noticed this because I have a script that reads two sheets from many
> > Excel files that used to take 1.5 seconds per file that now takes
> > around 5.18 seconds per file (AbsoluteTiming). Nothing else is done in
> > that part of the script; it is just a map of an Import command over a
> > list of Excel files. Is anyone else experiencing this slowdown? What
> > is the cause? Are there any remedies?
>
> We have also noticed that the Import of xls-files can be much slower in
> Version 8 than it was in Version 7. Especially if there are plots within
> those files, the import in 8 can be horrible slow, in some cases Import
> becomes completely useless. It looks like it has to do something with
> the plots, but so far I have not found a way to avoid that, e.g. by just
> importing the "Data" element. What has helped in most cases is to delete
> all plots in the xls-files before importing, but of course that is just
> a workaround and might not be a solution if you have many files, as
> seems the case for you...
>
> I would be very interested to hear if anyone has found ways to improve
> the import speed of xls-files in version 8 or switch back to the version
> 7 behaviour...
>
> hth,
>
> albert
Hi my previous post was a bit odd because I noticed I generated lots
of sheets instead of all data in one sheet as I intended.
I was put off by this due to the fact that with a large number which I
started with Mathematica 8 claimed wrong file format.
So I changed to extra {} and the message disappaered but I didn't
check in the file itself.
So this test is/was not representative although still interesting.
So creating one sheet with lots of data also has some limits which
seem strange.
In[60]:= writexls = Table[Range[Random[], 255], {x, 1, 5980}];
In[61]:= Export["xl.XLS", writexls]
Out[61]= "xl.XLS"
In[62]:= readxl = Import["xl.XLS"];
will work within 1 minute
changing 5980 to 5981 results in an error:
In[63]:= writexls = Table[Range[Random[], 255], {x, 1, 5981}];
In[64]:= Export["xl.XLS", writexls]
During evaluation of In[64]:= Export::fmterr: Invalid XLS format. >>
Out[64]= $Failed
So now I open XLS and add one row to have the 5981 rows.
Reading the file works.. No error there.
Anyway Mathematica 8 is slower with XLS then Mathematica 7 and the behaviour is different.
The above worked with Mathematica 7
Kind regards,
Lou