gpt4 book ai didi

python - 从 cursor.fetchall() 的结果中删除 u'

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:43 25 4
gpt4 key购买 nike

我使用带有 jaydebeapiinformix jdbc 驱动程序 (ifxjdbc.jar) 的 python 2.7 在表上执行选择,所有字段都有 u 'some_text'这是我的代码

curs = conn.cursor()
curs.execute("SELECT * FROM table1")
res = curs.fetchall()
print res

使用

res_final=[str(x) for x in res[0]]
print res_final

正确转换结果中的第一行。知道如何转换所有选定的行吗?我对 sqlite3 有同样的问题但是添加了

conn.text_factory=str 

解决了我的问题。我找不到以相同方式为 jaydebeapi 工作的东西。

最佳答案

如果您绝对需要将 Unicode 值编码为字节串,请尝试尽可能晚这样做,例如将值推送到只能处理字节的某处时,例如文件或网络套接字。

您可以使用嵌套列表理解对所有行中的所有列进行编码:

res = [col.encode('utf8') if isinstance(col, unicode) else col for col in row]
for row in curs.fetchall()]

它只对实际上是 Unicode 字符串的值进行编码,以一种适用于所有 Unicode 代码点的方式。

如果您只关心 u'' 前缀,那么绝对不需要编码。不要将容器表示中的类型指示符与实际数据混淆。

关于python - 从 cursor.fetchall() 的结果中删除 u',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27335157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com