Re: Unformatted File IO
- To: mathgroup at smc.vnet.net
- Subject: [mg44481] Re: [mg44432] Unformatted File IO
- From: Yasvir Tesiram <yat at omrf.ouhsc.edu>
- Date: Wed, 12 Nov 2003 08:01:30 -0500 (EST)
- References: <200311080951.EAA24713@smc.vnet.net> <3FAD5923.2090409@omrf.ouhsc.edu> <000801c3a6e3$e83fd3f0$6401a8c0@bcolletti>
- Reply-to: yat at omrf.ouhsc.edu
- Sender: owner-wri-mathgroup at wolfram.com
Using Record instead of Word and then doing a string replacement on the first Record in the List. handle = OpenRead["test.txt"]; z = ReadList[handle, Record, RecordSeparators -> {"\n"}, RecordLists -> True] Close[handle]; StringReplace[z[[1]], {"\" " -> ", ", "\"" -> ""}] But you would have to make a pattern matcher and replacer for all your different types of lines if you use Record. For example, z[[2]] is separated by whitespace rather than commas. Alternatively you can use the construct below or Jens-Peer Kuskas suggestion of Import["test.txt","Table"] where the StringReplace rules may be easier to apply. Theres got to be a more hassle free way. I just can't think of one off hand. Cheers Yas Bruce W. Colletti wrote: > Yas > > The code splits "hello there" which must stay intact as a list element. Any > ideas? Thanks. > > Bruce > > ----- Original Message ----- > From: "Yasvir tesiram" <yat at omrf.ouhsc.edu> To: mathgroup at smc.vnet.net > >>The contents of test.txt are as you state below. >>SetDirectory["pathTotest"]; >>/*check to see that the file is there*/ >>FileNames[] >> >>(*open a file handle to the file (handle), read in the contents line by >>line (RecordSeparator) as words separated by any of the possible >>separators (WordSeparators) *) >> >>(*note the "\"" in the list of WordSeprators is intentional because of >>your double quoted strings*) >> >>handle = OpenRead["test.txt"]; >>z = ToExpression[ >> ReadList[handle, Word, RecordSeparators -> {"\n"}, >> WordSeparators -> {" ", "\t", "\""}, RecordLists -> True] >> ] >>Close[handle]; >> >> >>Yas >> >>Bruce W. Colletti wrote: >> >> >>>I have an unformatted text file whose records hold reals and > > double-quoted > >>>strings, all delimited by spaces, e.g., >>> >>> "hello there" 2.7 >>> 1 2 3 4 >>> 9 "abc" "def" >>> >>>How can I read the file to produce a list of lists, e.g., {{hello there, > > 2.7}, > >>>{1,2,3,4}, {9, abc, def}}? > > >
- References:
- Unformatted File IO
- From: "Bruce W. Colletti" <bcolletti@compuserve.com>
- Unformatted File IO