我正在编写python脚本,从sqlite3数据库中提取xbmc媒体应用程序的数据。在
我可以看到,在我的代码中,它将使用unicode对象提取数据,其中我将有字符串(u'
、u
和{
我想把它转换回普通字符串,从unicode对象转换成utf8。在
代码如下:
programs = None
daysLimit = 14
start = datetime.datetime.now()
end = start + datetime.timedelta(days = daysLimit)
cur.execute('SELECT channel, title, start_date, stop_date FROM programs WHERE channel')
programs = cur.fetchall()
print(programs)
cur.close()
以下是xbmc日志:
^{pr2}$我想忽略字符串(u'
、u
和L
,所以我想让它看起来像这样:
'101 ABC FAMILY ', 'The Middle - The Ditch', 20140520170000, 20140520173000,
'101 ABC FAMILY ', 'The Goonies', 20140520173000, 20140520200000,
'101 ABC FAMILY ', 'Pirates of the Caribbean: On Stranger Tides', 20140520200000, 20140520230000,
'101 ABC FAMILY ', 'The 700 Club', 20140520230000, 20140521000000,
'101 ABC FAMILY ', 'The Fresh Prince of Bel-Air - Day Damn One', 20140521000000, 20140521003000,
and so on...
您能告诉我如何使用python2.6版本将unicode对象转换为utf8吗?在
您的问题是您试图显示数据,而不是显示python表示,如果该对象。在
所以它包含像u,L等元数据。 如果你想以你想要的方式显示数据,你应该写一个代码来处理它。在
例如:
所以它看起来像
^{pr2}$但是。。。如我所见,你使结构看起来像CSV文件(逗号分隔值),是吗?所以,也许,你应该读一读csv python模块?在
L
后缀表示长整数。它们实际上和(短)整数是一样的;实际上不需要转换它们。只有它们的repr()
输出包含L
;直接打印值或将其写入文件,并且不包括L
后缀。可以使用
unicode.encode()
方法将Unicode值编码为UTF-8:这里的重点是列表表示;您记录了所有行,Python容器通过对每个值调用
repr()
来表示它们的内容。这些表示对于调试非常有用,因为它们的类型非常明显。在这取决于您如何处理这些值。通常在代码中使用Unicode是一个好主意,并且只在最后一刻编码(当写入文件、打印或通过网络发送时)。有很多方法可以帮你处理这个问题。例如,打印将自动编码到终端编解码器。当添加到XML文件时,大多数XML库都会为您处理Unicode。等等
相关问题 更多 >
编程相关推荐