Re: Importing CSV (comma separated values) files?
- To: mathgroup at smc.vnet.net
- Subject: [mg13798] Re: [mg13765] Importing CSV (comma separated values) files?
- From: "Sherman.Reed" <sherman.reed at worldnet.att.net>
- Date: Fri, 28 Aug 1998 04:18:21 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Joe,
I have done the following, very successfully, for about ten years:
1. save the file in csv format:
2. read the file with a text editor and delete all the commas
(in unix I use vi, in dos I use edit, or ?) 3. then I read the file
into Mathematica.
Sherman C. Reed
sherman.reed at worldnet.att.net
----------
> From: Joe Gwinn <gwinn at ma.ultranet.com>
To: mathgroup at smc.vnet.net
> To: mathgroup at smc.vnet.net
> Subject: [mg13798] [mg13765] Importing CSV (comma separated values) files?
> Date: Monday, August 24, 1998 4:07 AM
>
> I have been trying to convince Mathematica 3.0.1 to ReadList an ordinary
> CSV spreadsheet file, without luck. It finds the file OK, then
> complains of an unspecified "syntax error" while reading a number. No
> useful information is presented; all one knows is that it failed.
>
> The file contains 240 lines, each line containing 240 non-negative
> integer values separated by commas. There are no decimal points or
> plus/minus signs. The values range fom 0 to 255. For the record, this
> is an output file from a CCD instrumentation TV camera used to measure
> fiber optic nearfield flux distributions.
>
> I have played with various combinations of RecordLists, WordSeparators,
> and Number, to no avail.
>
> Even though 240x240= 57,600 entries, Mathematica was not out of memory.
> The kernel has 25 MB, and the Front End has 10 MB, and the two
> memory-use thermometers were less than 25% full. If I take the same
> file and edit it into Mathematica nested-list format and turn it into a
> Mathematica notebook, Mathematica handles the data quite well, so the
> problem is purely with the import function.
>
>
> The actual output follows:
>
> raw2Ddata =
> ReadList[fullpath,Number,RecordLists->True (*,
> WordSeparators->{","}*)]; Read::"readn":
> "Syntax error reading a real number from \!\(\"FWB 4 GB:Gigabit \
> Ethernet:Of\" \\[Ellipsis] \"urs:2D Image Data:50M_OFL.IMG\"\)."
>
> All I can guess is that Mathematica expects numbers with decimals, and
> isn't getting the decimals. If that's true, it's a problem, because
> the instruments don't do decimal numbers. Is there an "Integer"
> declaration for ReadLists? "Integer" didn't work.
>
>
> Anyway, has anybody managed to get this to work, or have any
> suggestions?
>
>
> Also, a comment for Wolfram: Mathematica should be able to read and
> write Microsoft Excel "text" format, and also CSV formatted files
> directly and efficiently, using built-in functions, to enable access to
> the vast range of scientific instruments and analysis packages, and
> databases. The present manual process is very slow and clumsy.
>
>
> And, the error message needs some work. One easy and very helpful trick
> is to echo the offending line, and then put a line of ^^^ symbols under
> the offending token:
>
> Now is the t1me for ...
> ___________^^^^_________
> Number found where only letters were expected.
>
>
> Joe Gwinn