octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: io-2.4.13 released


From: Andrew Janke
Subject: Re: io-2.4.13 released
Date: Fri, 18 Oct 2019 08:10:28 -0700
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.9.0


On 10/18/19 2:29 AM, Philip Nienhuis wrote:
Kai Torben Ohlhus wrote:
On 10/18/19 5:30 PM, PhilipNienhuis wrote:
[...]

For readTable() and friends Octave needs to have the Table class
implemented. To my knowlegde there are no definite plans for that; there is
a prospect of a start by Markus Bergholz somewhere in (IIRC) the bug
tracker, from several years back.


Regarding this, I want to remind of Andrews project [1].

Thanks, I forgot about that. Yeah, an impressive piece of work. But, still no Table I/O there AFAICS. On github (or gitlab?) I saw a readTable() that effectively is a wrapper for xlsread. Could be a temporary solution.

Thanks Kai and Philip! Table I/O is on my TODO list for Tablicious. Now that I know there's appetite for it, I'll bump up its priority.

https://github.com/apjanke/octave-tablicious/issues/49

It looks like Forge io's spreadsheet reading is mature enough that I could build Table I/O on top of that. And that seems like a good design: no need for another package to re-implement basic spreadsheet I/O.

With one exception I can see: cell formatting. I need to be able to detect which columns are formatted as dates, so they can automatically be converted to @datetime objects. (And eventually I'd like to provide the option to efficiently read selected columns as @categorical, but that's much lower priority.)

Is there an efficient way in io's spreadsheet support to detect the "type"/format of cells/columns? Or would you be willing to work with me to add one to io? (Maybe by just exposing the cell format as yet another output arg of xlsread()?)

Same with writing tables: I'd need a way to control cell formatting so that dates could be formatted as dates explicitly instead of shooting them in as strings and relying on Excel's auto-parsing functionality (which I think only works when you're using the Excel COM interface anyway). Would also be nice to do stuff like bold column headers and freeze panes.

Note that on Matlab, "If your system does not have Excel ..., the [readTable] importing function .... reads only .xls, .xlsx, .xlsm, .xltx, and .xltm files" and "... with Excel® software, the [readTable] importing function reads any Excel spreadsheet file format recognized by your version of Excel" (https://nl.mathworks.com/help/matlab/ref/readtable.html).
I'm sure Octave (= we) can do better :-)

I'm sure we can. I don't intend to have this limitation in Tablicious. Matlab's dependency on automating Excel itself for this stuff is unfortunate. :)

Cheers,
Andrew



reply via email to

[Prev in Thread] Current Thread [Next in Thread]