python - 如何替换 JSON 文件中的值并将其附加到响应
问题描述
我有一个这样的 JSON 文件。
{
"Get_Request_1": {
"FindRequest": {
"CompanyIdentifiers_typehint": [
"CompanyIdentifiers"
],
"CompanyIdentifiers": [
{
"RIC": {
"Value": "MSFT.O"
}
}
],
}
}
}
我正在使用以下函数通过 API 调用获取数据:
def RetrieveQuotes(token, appid):
quoteRequestMsg = json.load(open('Get_Request_1.json'))
quoteURL = 'http://api.abcd.com/api/Developments/Developments.svc/REST/Developments_1/Developments_1'
headers = {'content-type': 'application/json;charset=utf-8',
'ApplicationID': appid, 'Token': token}
quoteResult = doSendRequest(quoteURL, quoteRequestMsg, headers)
if quoteResult and quoteResult.status_code == 200:
print('Quote response message: ')
#print(quoteResult.json())
#print(json.dumps(quoteResult.json(), sort_keys=True,indent=2, separators=(',', ':')))
with open('quoteResult.json', 'w') as f:
json.dump(quoteResult.text,f)
上面的脚本工作正常。现在我有 5 家公司需要获取数据。数据值存在于数据框中。
import pandas as pd
df = pd.read_excel('Company_List.xlsx')
print(df)
Company Name Ticker
0 Microsoft Corp MSFT.O
1 ABB Ltd. ABBN
2 Abbott Laboratories ABT.N
3 AbbVie Inc. ABBV
4 Accenture plc ACN.N
我如何循环df['Ticker']
并将其附加到生成的响应 JSON 中。?我是 python 新手,逐渐学习这些东西。我尝试了以下方法。
def RetrieveQuotes(token, appid):
quoteRequestM
sg = {
"Get_Request_1": {
"FindRequest": {
"CompanyIdentifiers_typehint": [
"CompanyIdentifiers"
],
"CompanyIdentifiers": [
{
"RIC": {
"Value": "MSFT.O"
}
}
],
}
}
}
quoteURL = 'http://api.abcd.com/api/Developments/Developments.svc/REST/Developments_1/Get_Developments_1'
headers = {'content-type': 'application/json;charset=utf-8',
'ApplicationID': appid, 'Token': token}
print('############### Sending Quote request message to TRKD ###############')
import pandas as pd
df = pd.read_excel('Company_List.xlsx')
for i in df['Ticker']:
tmp=i
quoteRequestMsg["Get_Request_1"]["FindRequest"]["CompanyIdentifiers"][0]['RIC']=tmp
quoteResult = doSendRequest(quoteURL, quoteRequestMsg, headers)
#print(quoteResult)
quoteResult.append(quoteResult)
if quoteResult and quoteResult.status_code == 200:
print('Quote response message: ')
#print(quoteResult.json())
#print(json.dumps(quoteResult.json(), sort_keys=True,indent=2, separators=(',', ':')))
with open('quoteResult.json', 'w') as f:
json.dump(quoteResult.text,f)
解决方案
推荐阅读
- azure-devops - 通过 Azure DevOps REST API 获取 PR 代码覆盖率差异状态
- java - 它是如何工作的,当我总是打开应用程序时,它会运行该方法,而不仅仅是在我单击运行时?
- javascript - 从节点js中的另一个类调用一个类
- django - 使用 git push 将 django 应用程序部署到 heroku 时出现无法识别的错误
- javascript - getUserMedia() 在普通 chrome 中不起作用,但在启动 pwa-chrome 时起作用
- mongodb - 了解 MongoDB 超时设置
- c++ - 在 c++ 项目的 Visual Studio 安装项目结束时启动 exe
- azure-api-management - Azure APIM - 按产品划分的管理员组?
- c# - 从 Json 字典中序列化 C# 中的字典
- powershell - 如何在路径 Powershell 中的最后一个斜杠之后删除所有内容