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

2024-09-28 20:46:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

HANA连接工作正常,下面的代码编辑了代码。我在将结果集加载到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()

Tags: 文件字符串代码sql驱动程序笔记本xmlcursor
1条回答
网友
1楼 · 发布于 2024-09-28 20:46:57

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

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

差不多

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

相关问题 更多 >