for key, value in ticker_data.items():
if isinstance(value, dict):
for sub_key, sub_value in value.items():
if sub_value is not None:
point.field(f"{key}_{sub_key}", sub_value)
else:
point.field(f"{key}_{sub_key}", None)
else:
if value is not None:
point.field(key, value)
else:
point.field(key, None)
不建议使用influxdb的tag,对于tag的添加建议采用默认配置
point = Point("deribit_ticker").tag("instrument_name", instrument_name)
优化版本
def process_json_to_influxdb(ticker_data, point, prefix=""):
for key, value in ticker_data.items():
if isinstance(value, dict):
process_json_to_influxdb(value, point, f"{prefix}_{key}")
else:
if value is not None:
point.field(key, value)
else:
point.field(key, None)