0
我有以下的Python:PyYAML YAML load_all的數據類型,以對象(很好)
class Instrument:
def quandl_get(self):
return quandl.get(self.quandl)
def yaml_load_all(name):
with open('yaml/' + str(name) + '.yaml', 'r') as ymlfile:
return list(yaml.load_all(ymlfile))
instruments = yaml_load_all("instruments")
而下面的YAML:
!!python/object:v.Instrument
vstoxx:
fractional_contracts: False
multiplier: 100
slippage: 0.0017
per_contract_cost: 0.0211
quandl: 'CHRIS/EUREX_FVS1'
---
!!python/object:v.Instrument
corn:
multiplier: 5000
symbol: 'zc'
months_traded: [3, 5, 7, 9, 12]
quandl: 'CHRIS/CME_C2'
forecasts: ['ewmac']
我要的是儀器的字典,所以我可以做instruments['vstoxx'].quandl_get()
。
作爲獎勵,我不想在YAML文件中每次重複!!python/object:v.Instrument
。
目前我收到了一個樂器列表。我想我需要執行兩個步驟,將對象加載到列表中,然後將它們映射到字典。這真的是最乾淨的方式嗎?