write() 参数必须是 str,而不是 pyhdbcli.ResultRow

write() argument must be str, not pyhdbcli.ResultRow

我在笔记本中使用 HANA HDBCLI 驱动程序连接到 HANA Table; table 包含我试图使用 sql 游标连接访问的 VARCHAR 大型列。

这是代码,VARCHAR 大尺寸列是 xml 字符串,我想将此 VARCHAR XML 字符串的内容存储到 XML 文件中,这是我的代码写了.

HANA 连接工作正常,编辑了以下代码 code.I 在将结果集加载到 xml 文件时出现以下错误。

write() 参数必须是 str,而不是 pyhdbcli.ResultRow

你能帮我看看我做错了什么吗?抱歉,我是 Python.

的新手
cursor = conn.cursor()
sql="SELECT CDATA FROM _sys_repo.active_object WHERE   OBJECT_NAME LIKE  '%AT_VIEW%'";

    cursor.execute(sql)
    for row in cursor:
        print(row)
        cdata=row
          with open("ATTR.xml", "w",encoding='utf-8') as f:
            f.write(cdata)
    cursor.close()

___str___ 方法的结果可能因使用的编码不同而不同。

要用新行替换 \n,请对字符串对象调用 .replace(oldvalue, newvalue) 方法。 在您的情况下,您需要将 \\n 替换为 \n(将转义字符串“\n”替换为换行符)

类似

f.write(str(cdata).replace("\n", "\n"))