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



大多数时候我都有一个简单的查询,将解析的JSON文件导出为各种格式(包括CSV格式(很简单。请参阅参考使用jq将JSON转换为CSV

我想在jupyter实验室魔术细胞中的以下命令中将;定义为导出到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' ';'

最新更新