我想使用SAP系统中的数据为IForest模型提供数据。 为此,我使用RFC\u READ\u表来获取数据。 RFC\u READ\u表的输出是dict对象。 当我把dict对象放入pandas数据帧时,我得到的不是我需要的数据帧,也不知道如何得到它。 我想要一个像这样的数据帧:
Col1 Col2 Col3
0: val01 val02 val03
1: val11 val12 val13
但得到的数据帧如下:
DATA
0 {'WA': '700,AA ,0017,US ,NEW YORK ,...
我想每个字段都在一个字符串中。字段应为700或AA。 我不能给列命名,唯一的列是数据。你知道吗
我试着把RFC\u READ\u表的输出直接放到pd.数据帧. 失败的原因是输出
result = conn.call('RFC_READ_TABLE',QUERY_TABLE='SPFLI',DELIMITER=',')
print(result)
Out:
{'DATA': [{'WA': '700,AA ,0017,US ,NEW YORK ,JFK,US ,SAN
FRANCISCO ,SFO, 361 ,110000,140100,2572.0000,MI , , 0'}......
'FIELDS': [{'FIELDNAME': 'MANDT', 'OFFSET': '000000', 'LENGTH':
'000003', 'TYPE': 'C', 'FIELDTEXT': 'Client'}, ......
'OPTIONS': []}
所以数据、字段和选项是关键,后面的一切都是一个字符串(我猜)。要去掉“字段”和“选项”,我需要:
result = dict(list(result.items())[:1])
然后我把“结果”放进pd.数据帧地址:
df = pd.DataFrame.from_dict(result)
print(df)
Out:
DATA
0 {'WA': '700,AA ,0017,US ,NEW YORK ,...
1 {'WA': '700,AA ,0064,US ,SAN FRANCISCO ,...
所以不知何故,有些值并没有显示出来,一行的每个字段都在一个字段中。 我想要这样的东西:
MANDT CARRID CONNID
0 700 AA 0017
1 700 AA 0064
等等。你知道吗
我试过:
columnnames=['MANDT','CARRID','CONNID',...]
df = pd.DataFrame.from_dict(result,columns=columnnames)
但是得到:
ValueError:不能将columns参数与orient='columns'一起使用
所以我试着:
orient='index'
但是得到:
断言错误:传递了16列,传递的数据有26列
我想那不是我想要的。你知道吗
这张桌子有26行。你知道吗
为了创造我的字典。你知道吗
相关问题 更多 >
编程相关推荐