首页 > 解决方案 > 有没有一种简单的方法可以将 zeep 响应转换为 json、pandas、xml?

问题描述

我正在使用 python 3.6 和 zeep 3.4.0

Zeep 返回原始数据,我无法将其转换为 xml/json/pandas 对象。

我尝试使用 bs4 从 text1 中获取表格,但没有成功。序列化 text1 以获取 json,也没有运气。

from zeep import Client, Settings

settings = Settings(xml_huge_tree=True)

client = Client('http://www.cbr.ru/secinfo/secinfo.asmx?WSDL', settings=settings)
s = '2019-06-21T00:00:00'

with client.settings(raw_response=True):
    result = (client.service.IDRepoRUBXML(s))

#print(dir(result))    
text1 = (result.text)

print(text1)
#
#data = literal_eval(text1.decode('utf8'),)

def escape(t):
    """HTML-escape the text in `t`."""
    return (t.replace("&amp;","&").replace("&lt;","<" ).replace( "&gt;",">").replace("&#39;","'").replace("&quot;",'"'))

m = escape(text1)
print(m)

我需要从 zeep 检索可读的 xml 或 json/pandas 表。

标签: pythonjsonpandaswsdlzeep

解决方案


如果您只是想从 serialize_object 中获取 python dict 类型,则可以指定所需的类型。

从 zeep 导入助手

_json = helpers.serialize_object(zeep_object, dict)


推荐阅读