From: qtrimble on
I'm a python newbie but I do have some basic scripting experience. I
need to take the line starting with "wer" and extract the year and day
of year from that string. I want to be able to add the year and day
of year from the last line having "wer*" to the lines occurring in
between "wer*" lines. Python seems suitable to do this and I'm fairly
certain I can eventually get this to work but I've been hit with a
very short time frame so I'm looking for any generous help. The data
below is just a sample. There are well over 500,000 lines that need
processed.

wer1999001
31.2234 82.2367
37.9535 82.3456
wer1999002
31.2234 82.2367
37.9535 82.3456
From: Alf P. Steinbach on
* qtrimble:
> I'm a python newbie but I do have some basic scripting experience. I
> need to take the line starting with "wer" and extract the year and day
> of year from that string. I want to be able to add the year and day
> of year from the last line having "wer*" to the lines occurring in
> between "wer*" lines. Python seems suitable to do this and I'm fairly
> certain I can eventually get this to work but I've been hit with a
> very short time frame so I'm looking for any generous help. The data
> below is just a sample. There are well over 500,000 lines that need
> processed.
>
> wer1999001
> 31.2234 82.2367
> 37.9535 82.3456
> wer1999002
> 31.2234 82.2367
> 37.9535 82.3456

<example>
>>> line = "wer1999001"
>>> line
'wer1999001'
>>> line[3:3+4]
'1999'
>>> line[7:7+3]
'001'
>>> _
</example>

Cheers & hth.,

- Alf
From: OdarR on
On 26 fév, 22:08, qtrimble <qtrim...(a)gmail.com> wrote:
> I'm a python newbie but I do have some basic scripting experience.  I
> need to take the line starting with "wer" and extract the year and day
> of year from that string.  I want to be able to add the year and day
> of year from the last line having "wer*" to the lines occurring in
> between "wer*" lines.  Python seems suitable to do this and I'm fairly
> certain I can eventually get this to work but I've been hit with a
> very short time frame so I'm looking for any generous help.  The data
> below is just a sample.  There are well over 500,000 lines that need
> processed.
>
> wer1999001
>       31.2234      82.2367
>       37.9535      82.3456
> wer1999002
>       31.2234      82.2367
>       37.9535      82.3456

did you try something as a working basis ?

Olivier
From: qtrimble on
On Feb 26, 4:14 pm, OdarR <olivier.da...(a)gmail.com> wrote:
> On 26 fév, 22:08, qtrimble <qtrim...(a)gmail.com> wrote:
>
>
>
> > I'm a python newbie but I do have some basic scripting experience.  I
> > need to take the line starting with "wer" and extract the year and day
> > of year from that string.  I want to be able to add the year and day
> > of year from the last line having "wer*" to the lines occurring in
> > between "wer*" lines.  Python seems suitable to do this and I'm fairly
> > certain I can eventually get this to work but I've been hit with a
> > very short time frame so I'm looking for any generous help.  The data
> > below is just a sample.  There are well over 500,000 lines that need
> > processed.
>
> > wer1999001
> >       31.2234      82.2367
> >       37.9535      82.3456
> > wer1999002
> >       31.2234      82.2367
> >       37.9535      82.3456
>
> did you try something as a working basis ?
>
> Olivier

Yes but it's very simple -

fileIN = open(r"C:\testing.txt", "r")

for line in fileIN:
year = line[3:7]
day = line[7:10]
print year, day

This is good since i can get the year and day of year into a variable
but I haven't gotten any further.
From: John Posner on
On 2/26/2010 4:21 PM, qtrimble wrote:
>
> fileIN = open(r"C:\testing.txt", "r")
>
> for line in fileIN:
> year = line[3:7]
> day = line[7:10]
> print year, day
>
> This is good since i can get the year and day of year into a variable
> but I haven't gotten any further.

That's an excellent start. Here's another hint ...

There are two kinds of lines in your input file:

* lines that begin with "wer"
* all other lines

So you need an if-else section to process the lines in the input file:

if line.startswith("wer"):
# use the contents of *line* to assign values
# to variables *year* and *day*
...
else:
# use the current values of *year* and *day*
# to process the numbers extracted from *line*

Most likely, you'll also need these functions:

* split() -- chop a string into pieces
* int() -- string-to-integer conversion

HTH,
John