[scilab-Users] Reading an Excel file with mixed strings and numbers
Adrien Vogt-Schilb
vogt at centre-cired.fr
Thu Nov 17 18:19:32 CET 2011
Well, did you generate the excel files from another process? In that
case, you may directly export your data as text.
About read_csv being very slow: you may try csv_read instead, which can
be installed from atoms : http://atoms.scilab.org/toolboxes/csv_readwrite
It's supposed to be much faster
Also, if you do generate the excel files yourself, consider exporting
numerical values only. If well formated, numerical text files may be
read very quickly with fscanfMat
Finally, if the data acquisition takes long and you are going to test
several scilab programs on it, i suggest you import the data to scilab
once, then save it from scilab in a scilab-friendly format (with
save("mydata.sav",data1,data2)), and then build your test programs from
a load("mydata.sav"). This way, you wont have to read the whole data
each time.
Oh, a last thing: string management was much faster with scilab4 (which
does not support utf8), so this last "first acquisition and export in
*.sav" could be done with sci4 (note that the instaler is less than 20MB
and the sci4 instalation takes very few disk space)
On 17/11/2011 18:10, Petter Wingren wrote:
> Was hoping not to have to do it that way, as I have a huge amount of
> files and every little step I can avoid saves time.
>
> Also read_csv seems to be extremely slow..
> I tried reading a 30000 cells sheet, which took 460 seconds
> Writing it as .sci and loading it again (after clearing) took 0.2 seconds.
>
> Guess I could make a script to take care of that and reformat all
> files during the night.
>
>
> On Thu, Nov 17, 2011 at 2:30 PM, Adrien Vogt-Schilb
> <vogt at centre-cired.fr> wrote:
>> hi
>>
>> i'd avoid using xls_open, which i found not very reliable with large files.
>> i'd try to save the excel sheet as a tsv file (text separated by tabs), then
>> read it from scilab with read_csv, then sparse myself the date strings with
>> an ad hoc function
>>
>> let me know if you find dificulties
>>
>>
>> On 17/11/2011 12:41, Petter Wingren wrote:
>>
>> I am trying to read an excel file that looks somewhat like this (only
>> a lot bigger):
>>
>> Download Time 19:54:08
>> Download Date 11-21-2010
>> --------------------------------------------------
>> 11/21/2010 19:43:30 0
>> 11/21/2010 19:43:40 0
>> 11/21/2010 19:43:50 0
>> 11/21/2010 19:44:00 0
>> 11/21/2010 19:44:10 0
>> 11/21/2010 19:44:20 0
>> 11/21/2010 19:44:30 518
>> 11/21/2010 19:44:40 1139
>> 11/21/2010 19:44:50 1035
>> 11/21/2010 19:45:00 501
>> 11/21/2010 19:45:10 449
>> 11/21/2010 19:45:20 901
>> 11/21/2010 19:45:30 545
>> 11/21/2010 19:45:40 113
>> 11/21/2010 19:45:50 1
>> 11/21/2010 19:46:00 37
>> 11/21/2010 19:46:10 17
>> 11/21/2010 19:46:20 71
>>
>>
>> After I've read it I want to crop it according to a specific time and
>> keep the values in the second column.
>> However, when I do
>> [fd,SST,Sheetnames,Sheetpos] = xls_open('file.xls')
>> [Value,TextInd] = xls_read(fd,Sheetpos)
>>
>> Value only contains *** in the first column, and TextInd mostly zeroes.
>>
>> Any suggestions on how to get those timestamps?
>>
>>
>> --
>> Adrien Vogt-Schilb (Cired)
>> Tel: (+33) 1 43 94 73 77
--
Adrien Vogt-Schilb (Cired)
Tel: (+33) 1 43 94 *73 77*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20111117/f098c246/attachment.htm>
More information about the users
mailing list