我正在尝试使用python创建数据库,然后插入数据并显示它。
但是,输出在每个字符串之前添加u
。
我该怎么办,如何删除“你”?
以下是输出显示:
-----------------------------------------------
| Date | Time | Price |
-----------------------------------------------
(u'31/05/2013', u'11:10', u'$487')
(u'31/05/2013', u'11:11', u'$487')
(u'31/05/2013', u'11:13', u'$487')
(u'31/05/2013', u'11:19', u'$487')
我希望输出只显示
-----------------------------------------------
| Date | Time | Price |
-----------------------------------------------
31/05/2013 11:10 $487
我不希望看到u
和''
。
以下是我的代码的一部分
cursor.execute("CREATE TABLE if not exists table2 (date text, time text, price real)")
date=strftime("%d/%m/%Y")
time=strftime("%H:%M")
data1 = [(date,time,eachprice),
]
cursor.executemany('INSERT INTO table2 VALUES (?,?,?)', data1)
conn.commit()
#output
print "Showing history for 'ipad mini', from harveynorman"
print "-----------------------------------------------"
print "| Date | Time | Price |"
print "-----------------------------------------------"
for row in cursor.execute('select * from table2').fetchall():
print row
所以,任何人都可以帮我弄清楚如何删除g
和''
答案 0 :(得分:5)
你正在用unicode字符串查看整个元组;当向您显示内部具有unicode值的元组时,u''
是正常的:
>>> print u'Hello World!'
Hello World!
>>> print (u'Hello World',)
(u'Hello World',)
您想格式化每一行:
print u' {:<15} {:<8} {:<6}'.format(*row)
请参阅str.format()
documentation,特别是Format Syntax reference;上面的格式是带有字段宽度的3个值,左对齐每个值到它们指定的宽度。
宽度是近似值(我没有准确计算帖子中的空格数量),但应该很容易调整以适应您的需要。
演示:
>>> row = (u'31/05/2013', u'11:10', u'$487')
>>> print u' {:<15} {:<8} {:<6}'.format(*row)
31/05/2013 11:10 $487
或者,使用循环和一系列行条目:
>>> rows = [
... (u'31/05/2013', u'11:10', u'$487'),
... (u'31/05/2013', u'11:11', u'$487'),
... (u'31/05/2013', u'11:13', u'$487'),
... (u'31/05/2013', u'11:19', u'$487'),
... ]
>>> for row in rows:
... print u' {:<15} {:<8} {:<6}'.format(*row)
...
31/05/2013 11:10 $487
31/05/2013 11:11 $487
31/05/2013 11:13 $487
31/05/2013 11:19 $487