首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PyRFC摄取RAW数据类型列的问题

使用PyRFC摄取RAW数据类型列的问题
EN

Stack Overflow用户
提问于 2020-07-21 13:48:50
回答 1查看 151关注 0票数 2

在使用PyRFC从SAP中提取数据时,我遇到了一个处理原始数据类型列的问题。

下面是元数据的屏幕截图以及数据在SAP GUI中的外观。

下面是我为拉取这篇专栏而运行的代码片段。

代码语言:javascript
运行
复制
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的以下响应。

代码语言:javascript
运行
复制
{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时,我得到了以下错误。

代码语言:javascript
运行
复制
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中显示一样。

感谢您的时间和回复。

谢谢,

EN

Stack Overflow用户

发布于 2020-07-21 16:14:46

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

代码语言:javascript
运行
复制
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')

输出:

代码语言:javascript
运行
复制
parent:  00000000000000000000000000000000
parent:  a0369fa85cb41edaac97182df5b41fe8

encode('hex')做到了这一点。我一直在尝试utf-8和其他编码,但在这种情况下我应该使用十六进制。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63008161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档