FB:数据预览(csvstat、csvcut、head、cat)
用 csvstat、csvcut、head 等命令预览 Facebook 数据集
如今,Facebook 拥有超过十亿的活跃用户,已真正成为个人、产品和企业品牌建设的核心平台。企业希望了解公众对其业务相关话题的看法,以便让产品和营销策略更贴近客户需求。实现这一目标的一种方式是分析公司的 Facebook 页面数据,从而帮助营销人员制作更具针对性的内容。
在本课程中,我们将使用 Facebook 抓取工具 对某个未公开的 Facebook 页面进行数据抓取,并对生成的数据集进行挖掘。本次实验的目标是仅用一条 Bash 命令,找出该页面上最活跃的状态消息。
数据下载
请从 此处 下载数据,这是 Educative 官网提供的简化版数据。我们将数据保存为:facebookdata.csv。
稍后我们会看到,该数据集包含以下字段:status_id、status_message、link_name、status_type、status_link、status_published、num_reactions、num_comments、num_shares、num_likes、num_loves、num_wows、num_hahas、num_sads、num_angrys。通过 Bash 工具,我们将探索这些特征,并最终找出在总互动量方面最活跃的一条状态消息。
学习目标
完成本课程后,你将学会使用以下 Bash 命令:
head—— 输出文件的开头部分tail—— 与 head 相反,输出文件末尾部分cat—— 连接并打印文件内容sort—— 对文件内容进行排序grep—— 在输入文件中搜索包含指定模式的行uniq—— 删除重复项awk—— 编程语言(新内容)- Bash 函数(新内容)
数据集预览
与之前一样,这个数据集规模较小(玩具数据),理论上可以用文本编辑器或 Excel 打开。但正如第一章所述,真实世界的数据集通常更大且难以整体打开。因此,我们先快速预览一下数据内容。
数据有多少列和多少行?
首先,我们使用 csvkit 工具中的 csvstat 来获取数据统计信息:
查看列的统计信息:
1csvstat -n facebookdata.csv
查看行数统计信息:
1csvstat --count facebookdata.csv
最终输出结果如下:

数据显示,该数据集共有 15 列,共 3222 行。
数据长什么样?
当你拿到一份新数据时,首要任务通常是预览数据内容,以了解其结构、组织方式以及数据是否合理。为了快速预览,我们可以使用 head、csvlook 和 csvcut 命令:
1csvcut -c 1,4,7-11 facebookdata.csv | csvlook | head -n 50

csvcut 命令可用于提取指定的列(例如 1,4,7-11)。注意,我们没有预览第 2 和第 3 列(即 status_message 和 link_name),因为这两列内容较长,在当前预览窗口中无法完整显示!