[Tutor] Another parsing question

Jay Mutter III jmutter at uakron.edu
Sat Mar 31 19:48:12 CEST 2007


Ok after a minute of thought I did solve my second question by simply  
changing my RE to

(r'(\d{1}[\s,.]+\d{3}[\s,.]+\d{3})')

but still haven't gotten he first one.


On Mar 31, 2007, at 1:39 PM, Jay Mutter III wrote:

> I have the following that I am using to extract "numbers' from a file
>
>
> prompt1 = raw_input('What is the file from which you would like a  
> list of patent numbers?      ')
> p1 = open(prompt1,'rU')
> s = p1.readlines()
> prompt2 = raw_input('What is the name of the file to which you  
> would like to save the list of patent numbers?      ')
> p2 = open(prompt2,'aU')
> patno = re.compile(r'(\d{1})[\s,.]+(\d{3})[\s,.]+(\d{3})')
> for line in s:
>     jay = patno.findall(line)
>     print jay
>
> which yields the following
>
> [('1', '337', '912')]
> [('1', '354', '756')]
> [('1', '360', '297')]
> [('1', '328', '232')]
> [('1', '330', '123')]
> [('1', '362', '944')]
> [('1', '350', '461')]
> [('1', '355', '991')]
> [('1', '349', '385')]
> [('1', '350', '521')]
> [('1', '336', '542')]
> [('1', '354', '922')]
> [('1', '338', '268')]
> [('1', '353', '682')]
> [('1', '343', '241')]
> [('1', '359', '852')]
> [('1', '342', '483')]
> [('1', '347', '068')]
> [('1', '331', '450')]
>
> if i try to write to a file instead of print to the screen using
> p2.write(jay)
> i get the message
>
> Traceback (most recent call last):
>   File "patentno.py", line 12, in ?
>     p2.write(jay)
> TypeError: argument 1 must be string or read-only character buffer,  
> not list
>
> I f I try writelines i get
>
> Traceback (most recent call last):
>   File "patentno.py", line 12, in ?
>     p2.writelines(jay)
> TypeError: writelines() argument must be a sequence of strings
> jay-mutter-iiis-computer:~/documents/programming/python/patents jlm1$
>
>
> So what do i have above ? A list of tuples?
>
> How do I  send the output to a file?
> Is there a way to get the output as
>
> 1337912  instead of   [('1', '337', '912')]  ?
>
> And as always thanks in advance for the help.
>
> jay Mutter
>



More information about the Tutor mailing list