From: qtrimble on 26 Feb 2010 16:08 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 26 Feb 2010 16:12 * 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 26 Feb 2010 16:14 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 26 Feb 2010 16:21 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 26 Feb 2010 17:33
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 |