0
我試圖從一個數據幀文件使用對象存儲在IBM DataScienceExperience沃森個性見解API發佈的數據..發佈文字
我已經加載txt文件到ObjectStorage並創建了一個DataFrame。工作正常。不明白如何將數據框中的數據發佈到API。所提供的文件並沒有指出我正確的方向。
這是我做了什麼
from io import StringIO
import requests
import json
import pandas as pd
def get_object_storage_file_with_credentials(container, filename):
"""This functions returns a StringIO object containing
the file content from Bluemix Object Storage."""
url1 = ''.join(['https://identity.open.softlayer.com', '/v3/auth/tokens'])
data = {
'auth': {
'identity': {
'methods': ['password'],
'password': {
'user': {
'name': 'UID UID UID',
'domain': {
'id': 'ID ID ID'
},
'password': 'PASS PASS'
}
}
}
}
}
headers1 = {'Content-Type': 'application/json'}
resp1 = requests.post(url=url1, data=json.dumps(data), headers=headers1)
resp1_body = resp1.json()
for e1 in resp1_body['token']['catalog']:
if(e1['type']=='object-store'):
for e2 in e1['endpoints']:
if(e2['interface']=='public'and e2['region']=='dallas'):
url2 = ''.join([e2['url'],'/', container, '/', filename])
s_subject_token = resp1.headers['x-subject-token']
headers2 = {'X-Auth-Token': s_subject_token, 'accept': 'application/json'}
resp2 = requests.get(url=url2, headers=headers2)
return StringIO(resp2.text)
PI_text = get_object_storage_file_with_credentials('MyDSXProjects', 'myPI.txt')
接下來我要發佈數據框內容的API 我想知道怎麼樣,希望有人能提供一個提示... 我的Python知識這裏缺乏。
Hi Sumit, PI_text對象中的文本是非結構化數據。 我想將此文本發佈到Watson Personality insight API並將結果存儲到DataFrame中,稍後我將與另一個DataFrame一起用於分析。 所以它真的是將ObjectStorage對象發佈到API。 – Brenzef
@Brenzef,將相關列從數據框轉換爲文本格式後,您可以對Watson Personality Insights API進行api調用。讓我相應地編輯答案。 –