1. Newbie needs help with text files
- Posted by Andy Serpa <renegade at EARTHLING.NET> Jun 03, 2000
- 494 views
Hello, I am new to Euphoria, and couldn't find the answer to this elsewhere -- maybe you can help me. Is there a simple way to take a plain text data file, say a comma-delimted file with a bunch of numbers in it (and a few words) and turn those numbers into Euphoria atoms or sequences so I can do math on them? In other words, can I take a text file that looks like this: 12.5, 890, 7.23, Andy Serpa, 84.3 and turn it into a sequence like this: {12.5, 890, 7.23, "Andy Serpa", 84.3} instead of a sequence like this: {49,50,46,53,44,32,56,57,48,44,32,55, etc....} or simply be able to read in any number from a text file and have it remain a single number instead of a sequence of bytes representing the characters of the number... Am I missing something? Andy Serpa renegade at earthling.net
2. Re: Newbie needs help with text files
- Posted by =?iso-8859-2?B?qWtvZGE=?= <tone.skoda at SIOL.NET> Jun 03, 2000
- 464 views
------=_NextPart_000_0077_01BFCD7D.8137FF40 charset="iso-8859-2" > In other words, can I take a text file that looks like this: > > 12.5, 890, 7.23, Andy Serpa, 84.3 > > and turn it into a sequence like this: > > {12.5, 890, 7.23, "Andy Serpa", 84.3} I have that one for you. Look at attached file. I have collected a couple of my functions into this file taht will help you. If you want that words are separated into sequence where commas are, it's much simpler thing, I can write it for you if you want. ------=_NextPart_000_0077_01BFCD7D.8137FF40 name="word.ex" Content-Transfer-Encoding: quoted-printable
3. Re: Newbie needs help with text files
- Posted by Irv Mullins <irv at ELLIJAY.COM> Jun 03, 2000
- 475 views
Hi Andy: If your data file consists of only numbers: 12.5, 890, 7.23, 84.3 for example, you can read this in with the following code: include get.e -- for the get() function integer fn -- file handle sequence s -- storage for the completed sequence object input -- storage for single numbers fn = open("test.dat","r") -- open the data file s = {} -- initialize the empty sequence while 1 do input = get(fn) -- read a number if input[1] = GET_SUCCESS then s &= input[2] -- append else exit -- or EOF end if end while ? s -- for debugging If you want to read in strings mixed with the numbers, it's a bit more complicated. You will need a routine to read a series of characters into a string variable until the comma is encountered: include get.e include file.e integer fn sequence s object input function read_string() object temp, char char = seek(fn,where(fn)-1) -- rewind the file by 1 char temp = "" while 1 do char = getc(fn) -- read characters in if char = ',' -- until comma is found or char = -1 then return {temp} -- or EOF else temp &= char -- tack on the character end if end while end function fn = open("test.dat","r") s = {} while 1 do input = get(fn) if input[1] = GET_SUCCESS then s &= input[2] -- tack on the number elsif input[1] = GET_FAIL then s &= read_string() -- or the string else exit -- anything else is EOF end if end while ? s puts(1,s[4]) -- display the 4th item (ur name) Hope this helps: Irv On Sat, 03 Jun 2000, Andy wrote: > Hello, > > I am new to Euphoria, and couldn't find the answer to this elsewhere -- > maybe you can help me. > > Is there a simple way to take a plain text data file, say a comma-delimted > file with a bunch of numbers in it (and a few words) and turn those numbers > into Euphoria atoms or sequences so I can do math on them? > In other words, can I take a text file that looks like this: > > 12.5, 890, 7.23, Andy Serpa, 84.3 > > and turn it into a sequence like this: > > {12.5, 890, 7.23, "Andy Serpa", 84.3} > > > instead of a sequence like this: > {49,50,46,53,44,32,56,57,48,44,32,55, etc....} > > > or simply be able to read in any number from a text file and have it remain > a single number instead of a sequence of bytes representing the characters > of the number...
4. Re: Newbie needs help with text files
- Posted by Andy Serpa <renegade at EARTHLING.NET> Jun 03, 2000
- 483 views
Ok, thank you both -- I think I will be able to figure it out now... Andy Serpa renegade at earthling.net
5. Re: Newbie needs help with text files
- Posted by Kat <gertie at PELL.NET> Jun 04, 2000
- 481 views
On 3 Jun 2000, at 17:02, koda wrote: > > ------=_NextPart_000_0077_01BFCD7D.8137FF40 > charset="iso-8859-2" > > > In other words, can I take a text file that looks like this: > > > > 12.5, 890, 7.23, Andy Serpa, 84.3 > > > > and turn it into a sequence like this: > > > > {12.5, 890, 7.23, "Andy Serpa", 84.3} > > > I have that one for you. Look at attached file. I have collected a > couple of my functions into this file taht will help you. > > If you want that words are separated into sequence where commas are, > it's much simpler thing, I can write it for you if you want. Yeas, just use parse(TheInputString,",") from the archives. Kat