微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在将解析的JSON导出到CSV文件时,为-jq自定义定义定界符

如何解决在将解析的JSON导出到CSV文件时,为-jq自定义定义定界符

在大多数情况下,我都有一个简单的查询,可以很容易地将已解析的JSON文件导出为各种格式,包括CSV格式。请参阅参考Convert a JSON into CSV using jq

我想在jupyter-lab魔术单元中的以下命令中将;定义为导出到csv文件的定界符

for file in filelist:
    ! echo $file
    ! jq -r '[.user.screen_name,.user.followers_count,.retweeted_status.user.screen_name,\
    .full_text,.display_text_range[1],.created_at,.id,.in_reply_to_user_id,\
    .in_reply_to_status_id,.user.location,.place.name,\
    .user.verified,.retweet_count,.favorite_count,.entities.media[].type,.entities.hashtags[].text] | @csv' < $file >> $store_file

tks!

解决方法

您也许可以摆脱使用join(";")的束缚,但是首先肯定要对字符串使用gsub(";";"\\;")会更好,但这取决于您要如何处理JSON字符串中的分号。根据您的要求或期望,您可能还需要考虑使用@tsv,然后对这些标签进行后处理,例如使用

sed $'s/\t/;/g'

tr '\t' ';'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。