Конвертировать несколько файлов JSON в один файл .CSV - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь преобразовать 2000 файлов JSON с одинаковой размерностью в .csv и объединить их в один файл .csv.На что лучше всего посмотреть?Пожалуйста помогите.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

У меня была куча файлов .json с той же проблемой.Мое решение состояло в том, чтобы использовать bash-скрипт для зацикливания всех файлов и использовать jq для каждого из них, чтобы конвертировать в отдельные csv-файлы.Что-то вроде

i=1
for eachFile in /path/to/json/*.json; do
    cat json-$i.json | jq -r '.[] | {column1: .path.to.data, column2: .path.to.data} | [.[] | tostring] | @csv' > extract-$i.csv
    echo "converted $i of many json files..."
    ((i=i+1))
done

Тогда вы можете cat и >> всех из них в аналогичном цикле в один файл .csv.Что-то вроде

i=1
for eachFile in /path/to/csv/*.csv; do
    cat extract-$i.csv >> concatenate.csv
    ((i=i+1))
done

Если вы достаточно хитры, вы можете объединить их в один скрипт ... edit: на самом деле, это просто вопрос добавления > в первый скрипт и использованияодно имя файла, поэтому cat json-$i.json | jq -r '.[] | {column1: .path.to.data, column2: .path.to.data} | [.[] | tostring] | @csv' >> output.csv

0 голосов
/ 05 июня 2018

Есть отличная программа от Withdata, которая, к сожалению, стоит немного денег, но есть 30-дневная бесплатная пробная версия, если вам просто нужно быстро исправить.Он называется DataFileConverter, и на их веб-сайте есть руководство о том, как конкретно преобразовать файлы json в .csv.Если вы ищете бесплатную программу, попробуйте этот репозиторий https://github.com/evidens/json2csv. Он написан на python, но все еще может использоваться с указаниями.

...