-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Table file I/O #49
Comments
There was some discussion of this on the Octave Maintainers mailing list: https://lists.gnu.org/archive/html/octave-maintainers/2019-10/msg00071.html. Looks like there's an appetite for readtable/writetable. I'm bumping up the priority on this to High. |
Would the io package (https://octave.sourceforge.io/io/index.html) help provide some intermediate functions for readtable? E.g. to load a csv file, using csv2cell() from io and your cell2table() ? |
Yes and no. ;) In theory and in a broad sense, yes, the I'm open to either approach: build on top of |
Thanks for considering. I am not too familiar with the Octave package system (I mostly work in R), but another option would be to borrow the needed (GPL) code within your package to avoid a dependency issue, and then you could also adapt it to your needs. I think ultimately all of this belongs in base Octave, since they are core Matlab features and in high demand (e.g. bug https://savannah.gnu.org/bugs/?44571). In any event thank you for all your work on this package. |
I agree. My ultimate goal is to contribute the entirety of Tablicious up into the core Octave code base and have it just be part of core Octave. Though I'm going to maintain it, at least in parallel, as a package for a while, because I am stuck on Octave 4.4.x due to the Octave 5.x GUI being broken on macOS, so if it makes it in to an upcoming Octave release I still won't be able to use it there.
Is it? I've been working on this library for like a year and gotten almost no users or bug reports/feature requests. ;)
You're very welcome! Happy to have someone who finds it useful. |
It probably worth to retry Octave 6.2.0 nowadays: |
You are correct! The Octave 6.x release fixed the GUI problems we were having on macOS, so this is no longer a blocker here, and the importance of having a back-compatible Tablicious package is lower IMHO. (Though still useful, because there are some people out there, especially Linux users running the distribution-supplied Octave, who are still on older Octave versions.) We're actually having a discussion on the Octave Maintainers mailing list right now about getting all this Tablicious stuff into core Octave eventually. |
Matlab's table support includes I/O functions for reading and writing tables to and from various file types:
I/O Functionality
datetime
support #27datetime
support #27datetime
support #27It supports CSV, TSV/delimited, fixed-width fields, and Excel files. (And Open Office
.ods
files?)Excel files are going to be the big issue here. They're a complex file format that's hard to parse, so we'll probably need to pull in a library to do this. Apache FOP would be the obvious choice for me. But that's Java, and Java is not available in all Octave builds, so Octave prefers not to have anything in core that depends on Java. And I'd like to see Tablicious make it in to core Octave some day.
This is going to be a big task.
References
TODO
The text was updated successfully, but these errors were encountered: