簡體   English   中英

Python:從 JSON 中提取變量

[英]Python: Extract Variables from JSON

我想從 JSON 響應中提取一些變量並將其保存在 csv 文件中。 JSON 響應如下所示:

{
"Response":"Success",
"Message":"Coin list succesfully returned!",
"BaseImageUrl":"https://www.cryptocompare.com",
"BaseLinkUrl":"https://www.cryptocompare.com",
"DefaultWatchlist":{
"CoinIs":"1182,7605,5038,24854,3807,3808,202330,5324,5031,178978",
"Sponsored":"1182"
},
"Data":{
"USC":{
"Id":"100954",
"Url":"/coins/usc/overview",
"ImageUrl":"/media/1383363/usc.png",
"Name":"USC",
"Symbol":"USC",
"CoinName":"Ultimate Secure Cash",
"FullName":"Ultimate Secure Cash (USC)",
"Algorithm":"SHA256",
"ProofType":"PoS",
"FullyPremined":"0",
"TotalCoinSupply":"200084200",
"PreMinedValue":"N/A",
"TotalCoinsFreeFloat":"N/A",
"SortOrder":"1233",
"Sponsored":false

我想獲得以下變量:名稱、符號、CoinName 和 ID

為了提取 JSON 響應的所有值,我使用以下代碼:

def getCoinList():
req = requests.get(‘https://www.cryptocompare.com/api/data/coinlist/’).json()   
info = req[‘Data’]
coinList = pd.DataFrame(info)
coinList = coinList.transpose()
coinList.to_csv(‘coinList.csv’)
return coinList

但是,我只想提取指定的變量。

def getCoinList():
req = requests.get(‘https://www.cryptocompare.com/api/data/coinlist/’).json()['Data']
info = req['...'] /// How do I all four variables?
coinList = pd.DataFrame(info)
coinList = coinList.transpose()
coinList.to_csv(‘coinList.csv’)
return coinList

我不確定如何修改此代碼以僅提取四個指定的變量? 誰能幫我這個。 提前致謝,

如果您希望在dict中包含多個特定值的列表,則需要手動創建一個列表:

mylist = [req['Name'], req['Symbol'], req['CoinName'], req['ID']]

或者,如果你想要一個dict

mydict = {'Name': req['Name'], 'Symbol': req['Symbol'],
          'CoinName': req['CoinName'], 'ID': req['ID']}

因此,要將其寫入 csv:

import csv

with open('coinList.csv', 'a') as filep:
    csvwriter = csv.writer(filep)
    csvwriter.writerow([req['Name'], req['Symbol'], req['CoinName'], req['ID']])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM