我正在尝试连接到 SOAP 网络服务并使用 pandas 放在 table 上。
Zeep 给我这个列表:
[{
'ssPeca': '103',
'ssQtd': '1',
'ssUn': 'un'
}, {
'ssPeca': '291A',
'ssQtd': '8',
'ssUn': 'un'
}, {
'ssPeca': '406B',
'ssQtd': '8',
'ssUn': 'un'
}]
我的代码是这样的:
client = zeep.Client(wsdl=wsdl)
pecas=client.service.TabelaPecas("C-160","CR")
pd.DataFrame.from_dict(pecas)
并且该代码生成了这个:
0 1 2
0 ssPeca ssQtd ssUn
1 ssPeca ssQtd ssUn
2 ssPeca ssQtd ssUn
但我想要这个:
0 1 2
0 103 1 un
1 291A 8 un
2 406B 8 un
有人可以帮忙吗?我只是 python 的初学者。
最佳答案
Zeep 具有将响应转换为 Python 对象的函数。例如:有序字典。
你应该使用:
from zeep.helpers import serialize_object
client = zeep.Client(wsdl=wsdl)
pecas=client.service.TabelaPecas("C-160","CR")
pecas = serialize_object(pecas)
pd.DataFrame(pecas)
来源:http://docs.python-zeep.org/en/latest/helpers.ht
编辑:修正错别字,感谢 voglster
关于Python、Zeep 对 Pandas 的回应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48528268/