小编lee*_*ena的帖子

将 csv 中的列提取到文本文件

这是一个简单的问题。我有一个包含多列的 csv 文件,我想提取 3 列并将输出保存到文本文件中。

我的数据集示例:

page_id     post_name   link        post_type       likes_count
5550296508  Ben Carson  www.cnn.com shared_story    192583
5830242058  John Smith  www.abc.com news_story      467
9485676544  Sara John   www.msc.com shared_story    462
Run Code Online (Sandbox Code Playgroud)

我想选择三列并将它们保存到带有逗号分隔符的文本文件中。所需的输出:(或以整齐的方式显示列的任何类似格式。它不必与此格式完全相同)

"page_id","post_name","post_type"
"5550296508","Ben Carson","shared_story"
"5830242058","John Smith", "news_story" 
"9485676544", "Sara John",  "shared_story" 
Run Code Online (Sandbox Code Playgroud)

我尝试使用awk

awk -F',' '{print $1,$2,$4}' Data.csv > output.txt
Run Code Online (Sandbox Code Playgroud)

它返回此输出,列之间有一个空格,我想用逗号替换空格:

page_id     post_name   post_type 
5550296508  Ben Carson  shared_story    
5830242058  John Smith  news_story   
9485676544  Sara John   shared_story 
Run Code Online (Sandbox Code Playgroud)

我尝试过printf,但不确定我使用的是正确的字符串,因为它没有返回我想要的输出。

awk '{printf "%s,%s,%s", $1,$2,$4}' Data.csv > output.txt
Run Code Online (Sandbox Code Playgroud)

使用sed。这只用逗号替换第一个空格。

awk …
Run Code Online (Sandbox Code Playgroud)

awk csv

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

awk ×1

csv ×1