【发布时间】:2020-05-09 23:34:49
【问题描述】:
我有这个 JSON 数据:
price_history.json
{
"candles": [
{
"open": 26,
"high": 26.25,
"low": 25.75,
"close": 26.0625,
"volume": 1038600,
"datetime": 957762000000
},
{
"open": 25.8125,
"high": 26.25,
"low": 25.75,
"close": 26,
"volume": 765900,
"datetime": 957848400000
}
],
"symbol": "ABC",
"empty": false
}
我需要将其转换为 CSV。我可以使用以下过滤器获得几乎所有我需要的东西,但我想添加数组外部的符号:
cat price_history.json | jq '.candles[] | (.open|tostring) + "," + (.high|tostring) + "," + (.low|tostring) + "," + (.close|tostring) + "," + (.volume|tostring) + "," + (.datetime|tostring)'
回复:
"26,26.25,25.75,26.0625,1038600,957762000000"
"25.8125,26.25,25.75,26,765900,957848400000"
期望的响应:
"26,26.25,25.75,26.0625,1038600,957762000000,ABC"
"25.8125,26.25,25.75,26,765900,957848400000,ABC"
我尝试了许多组合,试图回到顶层拾取符号,包括尝试先拾取它。我不在乎它排在哪里
这是我得到的最接近的,除了打印钥匙和我不需要的所有东西之外,它什么都有:
cat /home/utility/scripts/marketScan/app/modules/api-comm/tdam/port/input/price_history-2.txt | jq '(.candles[]|tostring) + "," + (.symbol|tostring)'
回复
"{\"open\":26,\"high\":26.25,\"low\":25.75,\"close\":26.0625,\"volume\":1038600,\"datetime\":957762000000},ABC"
""{\"open\":25.8125,\"high\":26.25,\"low\":25.75,\"close\":26,\"volume\":765900,\"datetime\":957848400000},ABC"
【问题讨论】:
标签: json export-to-csv jq