很长一段时间以来,我只是一名读者——现在我需要成为一名作家,因为这似乎是这个问题第一次出现(希望不是)
我正试图通过OData服务从SAP Analytics云中获取一些数据。我有一个URL和一个帐户来从中提取数据。最后,我想将这些数据存储到SQL Server中,但现在这还远远不够
我正在努力导出数据。以下是场景:
我已通过邮递员尝试过,并已检索到数据,例如,这是该服务的URL:
https://system.org/sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/MasterData?$filter=Campaign eq '1234'
输出如下:
{
"@odata.context": "$metadata#MasterData",
"@odata.metadataEtag": "W/\"20201031071842\"",
"value": [
{
"Campaign": "1234",
"ExternalCampaignID": "",
"ExternalCampaignName": "",
"ExternalCampaignUUID": "00000000000000000000000000000000",
"AgeRangeUpperLimit": 0,
"AgeRangeLowerLimit": 0,
"InteractionReason": "PERMISSION_MISSING",
"InteractionStatus": "",
"InteractionType": "OUTBOUND_CHCK_FAILED",
"OrderAmount": 0.00}
]
}
所以在最后,我只想有一个包含从活动到订单金额的所有字段的表
目前我的Python代码是这样的(我对Python非常非常陌生):
import http.client
import pandas as pd
import json
conn = http.client.HTTPSConnection("system.org")
payload = ''
headers = {
'Authorization': 'is done',
'Cookie': 'is done',
'Accept': 'application/json'
}
conn.request("GET", "sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/MasterData?$filter=Campaign eq '1234'", payload, headers)
res = conn.getresponse()
result = res.read()
df = pd.read_json(result)
print(df)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', 0)
df_new = str(df['value'])
print(df_new)
第一次打印(df)给了我以下结果:
@odata.context ... value
0 $metadata#MasterData ... {'Campaign': '1234...
因此,所有相关列似乎都在一列中。我已经尝试将数据集缩减到第三列,这很有效,但现在我不知道如何继续。 我现在有以下一行(只是一个片段):
0 {'Campaign': '1234', 'CampaignID': '62', 'CampaignName': 'Facebook-Kampagne Test OF 1'}
谁能帮帮我吗?我认为最终将其写入SQL Server并不是什么大问题,因为有一个解决方案
非常感谢! 道路跑道
目前没有回答
相关问题 更多 >
编程相关推荐