Newbie Question: CSV to XML
Max Erickson
maxerickson at gmail.com
Fri Jan 6 15:46:00 EST 2006
"ProvoWallis" <gshepherd281281 at yahoo.com> wrote in
news:1136577649.277016.321890 at g49g2000cwa.googlegroups.com:
> Hi,
>
> I'm learning more and more about Python all the time but I'm still a
> real newbie. I wrote this little script to convert CSV to XML and I
was
> hoping to get some feedback on it if anyone was willing to comment.
>
> It works but I was wondering if there was anything I could do better.
> E.g., incorporate minidom somehow? But I'm totally in the dark as how
I
> would do this.
>
> Thanks,
>
> Greg
>
>
> ###
>
> #csv to XML conversion utility
>
> import os, re, csv
> root = raw_input("Enter the path where the program should run: ")
> fname = raw_input("Enter name of the uncoverted file: ")
consider parsing the command line to get the file to convert, ie
csvtoxml.py FILE
searching on sys.argv, getopt and optparse will give you lots of info on
this.
>
> for row in reader:
> for i in range(0, len(row)):
>
> if i == 0:
> output.write('\n<row>\n<entry
> colname="col%s">%s</entry>' % (i, row[i]))
> if i > 0 and i < len(row) - 1:
> output.write('\n<entry colname="col%s">%s</entry>' %
(i,
> row[i]))
> if i == len(row) - 1:
> output.write('\n<entry
> colname="col%s">%s</entry>\n</row>' % (i, row[i]))
instead of testing for the first and last rows, just write the row
stuff in the outer loop. Untested, but it should work the same...
for row in reader:
output.write('\n<row>')
for i, cell in enumerate(row):
output.write('\n<entry colname="col%s">%s</entry>' % (i,cell)
output.write('\n</row>')
max
More information about the Python-list
mailing list