У меня есть CSV-файл, содержащий около 5 миллионов записей, и я пытаюсь преобразовать данные csv-файла в массив json, используя Json-процессор jq. Однако мне нужно преобразовать CSV в массивы json (в отдельные файлы), каждая из которых содержит 10K записей вместо одного файла массива json с 5 миллионами записей, как показано в следующем примере.
Как мне добиться этого с помощью оболочкисценарий? ИЛИ Как мне преобразовать один массив json в несколько массивов json, каждый из которых содержит 10 тыс. Записей в файле json через shellscipt?
Входной файл CSV:
identifier,type,locale
91617676848,MSISDN,es_ES
91652560975,MSISDN,es_ES
91636563675,MSISDN,es_ES
CSV в преобразование JSON:
jq --slurp --raw-input --raw-output \
'split("\n") | .[1:] | map(split(",")) |
map({"identifier": .[0],
"type": .[1],
"locale": .[2]})' \
sample.csv > out_new.json
Вывод одного массива Json:
[
{
"identifier": "91617676848",
"type": "MSISDN",
"locale": "es_ES"
},
{
"identifier": "91652560975",
"type": "MSISDN",
"locale": "es_ES"
},
{
"identifier": "91636563675",
"type": "MSISDN",
"locale": "es_ES"
}
]
Ожидаемый вывод Json.
1.json (having 10K json array records)
[
{
"identifier": "91617676848",
"type": "MSISDN",
"locale": "es_ES"
},
.
.
.
.
{
"identifier": "91652560975",
"type": "MSISDN",
"locale": "es_ES"
}
]
2.json (having 10K json array records)
[
{
"identifier": "91636563675",
"type": "MSISDN",
"locale": "es_ES"
},
.
.
.
.
{
"identifier": "91636563999",
"type": "MSISDN",
"locale": "es_ES"
}
]