Thanks...
I was able to use the following to get what i needed done:
inp = open('input.txt', 'r')
out = open('output.txt', 'w')
for line in inp:
Fields = line.split(",")
ID = Fields[0]
ProductMess = Fields[1]
Product = ProductMess.split()
for item in Funds:
out.write ('%s\t%s\n'%(ID, Product))
Now my next challenge is to link a current table to this file and replace
values in the Product area based on the value - sort of like a Global
replace. Any hints as to where Python might have some sort of lookup table
functionality.
M.
On 9/27/07, Kent Johnson <[EMAIL PROTECTED]> wrote:
>
> GTXY20 wrote:
> > Hi,
> >
> > I have a CSV file as follows:
> >
> > ID Products
> > 1 a b c d
> > 1 a e
> > 2 a b c
> > 2 a
> > 3 b c
> > 3 a
> > 4 d
> > 5 a d
> >
> > I am trying to write a script that will take the CSV file and output
> > another text file as follows:
> >
> > ID Products
> > 1 a
> > 1 b
> > 1 c
> > 1 d
> > 1 a
> > 1 e
> >
> > etc.. for all of the ID's essentially I need to create a single instance
> > for products for each ID - currently the products are separated by a
> > space. I am thinking I need a for loop that will search on the space as
> > a delimiter...
>
> I should probably be teaching you to fish but tonight I have extra fish
> :-)
>
> If the products are single words then this is very simple. Something like
>
> inp = open('input.txt')
> out = open('output.txt')
>
> # Headers
> inp.next()
> out.write('ID\tProducts\n')
>
> for line in inp:
> fields = line.split()
> prodId = fields[0]
> products = fields[1:]
> for product in products:
> out.write('%s\t%s\n' % (prodId, product))
>
> inp.close()
> out.close()
>
>
> If the product text is more complex then you might want to use the csv
> module to help read and write the file.
>
> BTW in Python 3 you can write
> prodId, *products = fields.split()
>
> http://www.python.org/dev/peps/pep-3132/
>
> Kent
>
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor