У меня проблемы с преобразованием json в csv.
У меня есть файл json этой структуры:
{
"key": [
{
"key1": 1,
"key2": 1,
"key3": {
"1": 1,
"2": 2,
"3": 3,
"4": 4
}
},
{
"key1": 2,
"key2": 2,
"key3": {
"2": 2
}
}
...
],
...
}
Я использовал этот вызов jq для преобразования моего json в csv:
bin\jq-win64 ".key[] | [.key1, .key2, .key3.\"1\", .key3.\"2\", .key3.\"3\", .key3.\"4\" ] | tostring] | join(\";\")" source.json > output.tmp
Я не могу использовать стандартный @csv
, потому что это не подходит для моих настроек локали.Но вернемся к проблеме.В некоторых случаях key3
может не быть полным 4-элементным объектом (4 - максимум с ключами 1/2/3/4, как в примере).У меня есть проблема с этими отсутствующими подразделами, потому что jq возвращает «ноль», и это не очень хорошо работает с оценкой CSV в Excel или Calc.Есть ли способ заставить пустую строку или числовой 0 в качестве вывода в таком случае?
В конце концов, я могу попробовать использовать какой-нибудь другой текстовый процессор командной строки, но я был бы рад, если бы я мог сделать это содин инструмент.
РЕДАКТИРОВАТЬ: у меня был неправильный пример структуры json, и теперь реальная проблема немного изменилась.Сообщение обновлено.