|
大都值表达式:
- # Print line number and columns where column three greater
- # than 2005 and column five less than one thousand
-
- awk -F, ' $3 >= 2005 && $5 <= 1000 { print NR, $0 } ' filename.csv
计较第三列之和:
- awk -F, '{ x+=$3 } END { print x }' filename.csv
计较那些第一列值为“something”的第三列之和。
- awk -F, '$1 == "something" { x+=$3 } END { print x }' filename.csv
获取文件的行数列数:
- awk -F, 'END { print NF, NR }' filename.csv
- # Prettier version
- awk -F, 'BEGIN { print "COLUMNS", "ROWS" }; END { print NF, NR }' filename.csv
打印呈现过两次的行:
- awk -F, '++seen[$0] == 2' filename.csv
移除多行:
- # Consecutive lines
- awk 'a !~ $0; {a=$0}']
-
- # Nonconsecutive lines
- awk '! a[$0]++' filename.csv
-
- # More efficient
- awk '!($0 in a) {a[$0];print}
行使内置函数gsub()替代多个值。
- awk '{gsub(/scarlet|ruby|puce/, "red"); print}'
这个awk呼吁归并了多个CSV文件,忽略头并在末了追加。
- awk 'FNR==1 && NR!=1{next;}{print}' *.csv > final_file.csv
必要精简一个大文件?好的,awk可以在sed的辅佐下完成这件事。详细来说,基于一个行数,这个呼吁将一个大文件分为多个小文件。这个一行文件也会添加一个扩展名。
- sed '1d;$d' filename.csv | awk 'NR%NUMBER_OF_LINES==1{x="filename-"++i".csv";}{print > x}'
- # Example: splitting big_data.csv into data_(n).csv every 100,000 lines
- sed '1d;$d' big_data.csv | awk 'NR%100000==1{x="data_"++i".csv";}{print > x}'
竣事前
呼吁行拥有无限的力气。本文所涵盖的呼吁行常识足以让你从零基本到入门。除了这些已涉及的内容外,针对一般数据操纵尚有必要可思量的适用措施。Csvkit, xsv和q是个中三个值得存眷的。假如你但愿进一步深入到呼吁行的数据科学规模,那么请看此书。它也可以在此免费得到! 【编辑保举】 - 数据科学大Battle,你站Python照旧R
- 数据科学中的陷阱:定性变量的处理赏罚
- 数据科学规模,你该选 Python 照旧 R ?
- 超等干货 :一文总览数据科学全景:定律、算法、题目范例...
- 用Python做数据科学时轻易健忘的八个要点!
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|