当使用cx\u Oracle查询数据库时,我有一个存储文本的列varchar2。出于某种原因,如果我有“<;”或“>;”或类似于存储在表中的字符,那么当我查询表时,它会将这些值替换为它们的HTML实体等价物(例如:“<;”变为“&;lt;”)。例如:
如果我的表中有以下数据:
ID | VARCHAR2_DATA
----|-----------------
1 | <span>hi1</span>
2 | <span>hi2</span>
然后我运行以下代码:
import cx_Oracle
conn = cx_Oracle.connect(DATABASE_CONNECTION_STRING)
cursor = conn.cursor()
cursor.execute("SELECT * FROM TABLE")
ret_data = cursor.fetchall()
ret\ U数据将包含:
[1, "<span>hi1</span>"],
[2, "<span>hi2</span>"]
为什么会这样?除了遍历每一列/行并执行查找/替换之外,我如何才能阻止它发生?你知道吗
为了做到这一点,您必须在cx\u Oracle和您的代码之间有某种代码。当返回数据时,cx\u Oracle返回元组,而不是列表。如下所示:
尝试在命令提示符下使用python,而不导入任何其他模块。您可以使用命令检查要导入的模块
相关问题 更多 >
编程相关推荐