Re: Write/WriteString -- writing delimited txt to a stream?
- To: mathgroup at smc.vnet.net
- Subject: [mg57980] Re: Write/WriteString -- writing delimited txt to a stream?
- From: "Stefan Linnik" <- at mk-nntp-1.news.uk.worldonline.com>
- Date: Wed, 15 Jun 2005 05:58:13 -0400 (EDT)
- References: <d8jm0b$t23$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
A simple way might be something like: (* init file.txt *) strm= OpenAppend["c:\\file.txt"] Do[ ... dataChunk= { {100, 1.5, -10}, {200, 3.2, 10}, ...etc}; Export[strm, dataChunk, "CSV"] ... ] Stefan Linnik ~~~~~~~~ "Lee Newman" <leenewm at umich.edu> wrote in message news:d8jm0b$t23$1 at smc.vnet.net... > Hello, > > Situation: > - I am reading data in from a stream (the file is too big to import) > and processing it chunk by chunk. > - The proesssed data looks something like data = {{100, 1.5, -10}, > {200,3.2, 10},...etc} > - I have opened an output stream to write the data using s = > OpenWrite[file, FormatType -> OutPutForm]; > - I want to write the data in tab or comma separated format with one row > per line. > > Problem: > - No matter what I've tried, I always get either > (i) output with rows enclosed in brackets, or > (ii) delimited text output, but with Mathematica automatically adding a > line > break if a line exceeds what seems to be the default width for output > format > - I've tried using Write and WriteString -- nothing seems to work. > - I also tried generating an exact string for each line using a function > that inserts tabs between list items and adds a newline at the end of > the list. > > ExpressionToTSV[list_] := Module[{temp}, > temp = ToString@Rest@(ToString /@ Flatten@({"\t", #} & /@ list)); > StringReplace[temp, {"{" -> "", "}" -> "", ", " -> ""}]; > StringInsert[temp, "\n", -1] > ]; > > > There must be a simple solution -- does anyone know how to do this? > > Any help would be greatly appreciated, > Lee >