Newbie Question: CSV to XML

P

ProvoWallis

Hi,

Would anyone be willing to give me some feedback about this little
script that I wrote to convert CSV to XML. I'll happily admit that I
still have a lot to learn about Python so I'm always grateful for
constructive feedback.

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: ")
print

given,ext = os.path.splitext(fname)
root_name = os.path.join(root,fname)
n = given + '.xml'
outputName = os.path.join(root,n)

reader = csv.reader(open(root_name, 'r'), delimiter=',')

output = open(outputName, 'w')

output.write('<?xml version="1.0"
encoding="utf-8"?><em:table>\n<core:title/>')

output.write('\n<core:legend> %s %s </core:legend>\n<table
frame="none" colsep="0" rowsep="0">\n<tgroup cols="11" colsep="0"
rowsep="0">\n<tbody valign="bottom">' % ('TAS input file for ', given))

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))
if i > 0 and i < len(row) - 1:
output.write('\n<entry colname="col%s">%s</entry>' % (i,
row))
if i == len(row) - 1:
output.write('\n<entry
colname="col%s">%s</entry>\n</row>' % (i, row))

output.write('\n</tbody>\n</tgroup>\n</table>\n</em:table>')

output.close()
 
D

Doru-Catalin Togea

On Fri, 6 Jan 2006, ProvoWallis wrote:

Hi!
Would anyone be willing to give me some feedback about this little
script that I wrote to convert CSV to XML. I'll happily admit that I
still have a lot to learn about Python so I'm always grateful for
constructive feedback.

I have started using a module called Amara for xml manipulation. I am
pleased with how elegant it is, compared to what I have used before.

Catalin


--

<<<< ================================== >>>>
<< We are what we repeatedly do. >>
<< Excellence, therefore, is not an act >>
<< but a habit. >>
<<<< ================================== >>>>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top