将多个JSON文件转换为单个.CSV文件

时间:2018-06-04 20:56:54

标签: json csv merge

我正在尝试将具有相同维度的2000个JSON文件转换为.csv,并将其合并到单个.csv文件中。什么是最好看的地方?请协助。

2 个答案:

答案 0 :(得分:0)

这个来自Withdata的精彩节目不幸花了不少钱,但是如果你需要快速修复,可以免费试用30天。它叫做DataFileConverter,在他们的网站上有一个关于如何将json文件专门改成.csv的指南。如果您正在寻找免费程序,请尝试使用此存储库https://github.com/evidens/json2csv。它是用python编写的,但仍然可以用于指示。

答案 1 :(得分:0)

我有一堆同样问题的.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

如果您足够狡猾,可以将它们组合成一个脚本...编辑:实际上,只需在第一个脚本中添加>并使用单个文件名即可,因此cat json-$i.json | jq -r '.[] | {column1: .path.to.data, column2: .path.to.data} | [.[] | tostring] | @csv' >> output.csv