gpt4 book ai didi

python - 使用 PyRFC 问题摄取 RAW 数据类型列

转载 作者:行者123 更新时间:2023-12-04 09:25:59 25 4
gpt4 key购买 nike

使用 PyRFC 从 SAP 提取数据时,我遇到了处理 RAW 数据类型列的问题。
下面是元数据的屏幕截图以及数据在 SAP GUI 中的外观。
enter image description here
enter image description here
下面是我正在运行以提取此列的代码片段。

with Connection(user=user, passwd=password, ashost=host, sysnr=sysnr, client=client) as connObj:
dataObj = connObj.call(table)
print dataObj

for x in dataObj.get('PT_LIST'):
print "type: ", type(x["PARENT"])
print "parent: ", x["PARENT"]
我收到以下对 print dataObj 的回复.
{u'PT_LIST': [{u'PARENT': '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {u'PARENT': '\xa06\x9f\xa8\\\xb4\x1e\xda\xac\x97\x18-\xf5\xb4\x1f\xe8'}]}

type: <type 'str'>
parent:
type: <type 'str'>
parent: ▒6▒▒\▒ڬ▒-▒▒
当我尝试将其转换为 str 时,出现以下错误。
Traceback (most recent call last):
File "<stdin>", line 18, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: ordinal not in range(128)
有人可以帮助我理解如何正确地将这些数据转换为可读格式,就像它在 SAP GUI 中的显示方式一样。
感谢您的时间和响应。
谢谢,

最佳答案

我已经修改了我的代码如下,它像魔术一样工作。特别感谢@Sandra Rossi 的建议。

with Connection(user=user, passwd=password, ashost=host, sysnr=sysnr, client=client) as connObj:
dataObj = connObj.call(table)
for x in dataObj.get('PT_LIST'):
print "parent: ", x["PARENT"].encode('hex')
输出:
parent:  00000000000000000000000000000000
parent: a0369fa85cb41edaac97182df5b41fe8
encode('hex')成功了。我一直在尝试 utf-8 和其他编码,而在这种情况下我应该使用十六进制。

关于python - 使用 PyRFC 问题摄取 RAW 数据类型列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63008161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com