如何用jq从Mozilla CommonVoice JSON提取validHrs生成CSV
jq批量导出CommonVoice语言有效时长CSV方案
直接通过jq内置的对象遍历能力批量提取所有语言数据,不需要逐个指定语言代码。
基础命令(无表头)
直接输出「语言代码,validHrs数值」格式的逐行内容:
jq -r '.locales | to_entries[] | "\(.key),\(.value.validHrs)"' 统计文件路径.json
参数说明
-r:输出原始字符串模式,不会自动给结果添加JSON格式的引号,符合CSV纯文本输出要求to_entries:将locales下的键值对对象转换为结构化数组,每个数组元素的key字段对应语言代码(如en、fa),value字段对应该语言的属性子对象- 字符串模板逻辑:直接将语言代码、对应
validHrs字段用逗号拼接,每遍历一种语言就输出一行
带表头版本
如果需要第一行输出CSV列名,使用以下命令:
jq -r '"语言代码,validHrs数值", (.locales | to_entries[] | "\(.key),\(.value.validHrs)")' 统计文件路径.json
输出示例
en,2275.28 fa,327.14 zh-CN,187.39
内容的提问来源于stack exchange,提问作者nivcim
相关产品推荐
相关产品推荐

