First let me say that I appreciate the responses that everyone has given. A friend of mine is a ruby programmer but knows nothing about python. He gave me the script below and it does exactly what I want, only it is in Ruby. Not knowing ruby this is greek to me, and I would like to re-write it in python.
I ask then, is this essentially what others here have shown me to do, or is it in a different vein all together? Code: class TsvToHTML @@styleBlock = <<-ENDMARK <style type='text/css'> td { border-left:1px solid #000000; padding-right:4px; padding-left:4px; white-space: nowrap; } .cellTitle { border-bottom:1px solid #000000; background:#ffffe0; font-weight: bold; text-align: center; } .cell0 { background:#eff1f1; } .cell1 { background:#f8f8f8; } </style> ENDMARK def TsvToHTML::wrapTag(data,tag,modifier = "") return "<#{tag} #{modifier}>" + data + "</#{tag}>\n" end # wrapTag def TsvToHTML::makePage(source) page = "" rowNum = 0 source.readlines.each { |record| row = "" record.chomp.split("\t").each { |field| # replace blank fields with field.sub!(/^$/," ") # wrap in TD tag, specify style row += wrapTag(field,"td","class=\"" + ((rowNum == 0)?"cellTitle":"cell#{rowNum % 2}") + "\"") } rowNum += 1 # wrap in TR tag, add row to page page += wrapTag(row,"tr") + "\n" } # finish page formatting [ [ "table","cellpadding=0 cellspacing=0 border=0" ], "body","html" ].each { |tag| page = wrapTag(@@styleBlock,"head") + page if tag == "html" page = wrapTag(page,*tag) } return page end # makePage end # class # stdin -> convert -> stdout print TsvToHTML.makePage(STDIN) -- http://mail.python.org/mailman/listinfo/python-list