comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Writing a modified .txt file issue
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Writing a modified .txt file issue [message #85375 is a reply to message #85373] Mon, 29 July 2013 15:31 Go to previous messageGo to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Heinz Stege writes:

Uh, let me remind you, this guy said he was an IDL "beginner". You guys
are losing me. :-(

Cheers,

David

>
> On Mon, 29 Jul 2013 13:03:02 -0700 (PDT), Phillip Bitzer wrote:
>
>> I also have an ASCII data file that contains both numeric and string columns. I'm not a fan. What I'm doing now is read the whole thing in as a string array:
>>
>> nLines = FILE_LINES(filename)
>> OPENR, lun, filename, /GET_LUN
>> word = STRARR(nLines)
>> READF, lun, word
>> FREE_LUN, lun
>>
>> Then, I loop through each line, using STR_SPLIT to divvy up the fields at the space that separates the columns, and throw them into the output structure (not defined here for simplicity)
>>
>> FOR i=0L, nLines-1 DO BEGIN
>> this_row = STRSPLIT(word[i], ' ', /extract)
>> data[i].date = this_row[0]
>> data[i].time = this_row[1]
>> data[i].latitude = DOUBLE(this_row[2])
>> data[i].longitude = DOUBLE(this_row[3])
>> ....
>> ENDFOR
>>
>> I have been looking for a better/more efficient way of doing this. Can't seem to find a good way, but maybe Coyote has cooked up something :-) ReadCol works about as quickly as my code.
>>
> This type of files typically have much more lines than columns.
> Therefore it is more efficient to run the loop over a few columns than
> over all the lines. The following code more deals with arrays instead
> of scalars:
>
> for i=0,nColumns-2 do begin
> pos=strpos(word,' ')
> data.(i)=strmid(word,0,transpose(pos))
> word=strtrim(strmid(word,transpose(pos)),1)
> end
> data.(nColumns-1)=word
>
> Try it.
>
> Cheers, Heinz



--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.idlcoyote.com/
Sepore ma de ni thue. ("Perhaps thou speakest truth.")
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Find all user-defined structure definitions
Next Topic: Multiple plots with plot function

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 16:17:50 PDT 2025

Total time taken to generate the page: 0.64280 seconds