MySql からデータを取得するとタプルを取得します。テーブルに表示できるように文字列に変換したい。
これはタプルです:
(u'1854-563', u'ROME', Decimal('5555'), datetime.date(2013, 3, 15))
>>> t = (u'1854-563', u'ROME', Decimal('5555'), datetime.date(2013, 3, 15))
>>> map("{0}".format,t)
['1854-563', 'ROME', '5555', '2013-03-15']
または、テーブルを作成するには:
>>> r"<table><tbody>{0}</tbody></table>".format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td></tr>".format(*map("{0}".format,t)))
'<table><tbody><tr><td>1854-563</td><td>ROME</td><td>5555</td><td>2013-03-15</td></tr></tbody></table>'
なぜそうしたいのかわかりませんが、それらは本質的に同じものです。
>>> mytup = (u'1854-563', u'ROME', Decimal('5555'), datetime.date(2013, 3, 15))
>>> mytup = tuple(str(i) if isinstance(i,unicode) else i for i in mytup)
>>> print mytup
('1854-563', 'ROME', Decimal('5555'), datetime.date(2013, 3, 15))