octave-task-tracker
[Top][All Lists]
Advanced

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

[Octave-task-tracker] [task #15419] Implement Table I/O


From: Philip Nienhuis
Subject: [Octave-task-tracker] [task #15419] Implement Table I/O
Date: Sun, 20 Oct 2019 08:46:09 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4

Follow-up Comment #2, task #15419 (project octave):

Just a first throw at what is needed for the io package to support
Tablicious.

I found it the easiest to first try to read / get info from file. Usually that
gives enough info & self-confidence to attempt writing to file in a next
stage.

1. Define cell types we want to know. The regular numerical ones (double,
?integer? (probably not supported), boolean), text, various date/time types,
...?

2. For each file format (provisionally .xls, .xlsx, .ods, maybe a few more?)
find out if these cell types are supported at all.

3. For each interface, find out how the cell types we want to know about can
be extracted.

4. Think about how to convey the cell type info to Tablicious.


As to 3., AFAIK for most if not all interfaces, large parts of the req'd
infrastructure are already in place, as each cell type usually requires its
own way to be copy data to the output cell array. Just copying the type info
to some output array, rather than discard it as happens now, will do.
But for each interface, additional code may be needed extract more detailed
info as regards cell types. That info could be contained (hidden) in the
spreadsheet file or we might need some heuristics.

As to 4., I think this might be the easiest part. There's already an options
struct in the spreadsheet I/O functions that can have some extra fields.


BTW 1. In the io package there's also csv2cell() and cell2csv() for reading
/writing from/to mixed-type .csv files. That could be a start for Table I/O..

And then we have examples:

BTW 2. Perhaps the dataframe package has useful info. An old wish from me
would is to support dataframes in the I/O package. Table I/O comes close.

BTW 3. Octave already has importdata() that more or less encapsulates file
type info for data I/O.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/task/?15419>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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