在数据分析中从获取数据到最后的完成数据分析报告,你要是问一个从事数据分析的人哪里最麻烦最费时间,十个里面有九个会回答你:清洗数据。

在清洗数据流程中,绝大多数分析师都会使用Python和R来处理,那如果还没有掌握Python和R的人呢?

事实上Excel和Mysql之类的工具也是可以的,Excel对于大一点的文件处理的较为吃力。其实我们日常用来处理统计数据的Mysql也可以进行数据清洗的工作,接下来我就用完之前做的关于什么值得买跑鞋板块的数据分析为例来简单介绍一下怎么用Mysql进行数据清洗。

一、首先爬取网页上的数据

这方面我推荐一下我的朋友 @陈大欣零基础如何学爬虫技术?​www.zhihu.com

介绍的Web Scraper工具,可以轻松让没有编程基础的小白爬取95%以上的网页上的内容。

首先分析一下页面,我们需要爬取哪些内容:跑鞋的品牌、型号

爆料分类

价格

值、不值、收藏和评论数

爆料时间

卖家

爆料人

具体爬取过程不表

二、预览分析数据

看起来好像很正常,点开仔细看一下。

标题部分被整个抓下来了,其中我们需要的分类、品牌和价格都在一个单元格里面,需要把它们分开来。

上传时间和商家在同一个单元格里面,需要分开来。

三、在Mysql进行数据清洗、提取

把数据导入NavicatNavicat for MySQL如何导入数据表​www.formysql.com

参考网上的教程把爬下来的csv文件导入Navicat

统计男鞋和女鞋的爆料数量

Alter table `runningshoe (1)` add woman int;

update `runningshoe (1)` set woman=1

where name like "%女%"

加入一列命名为Woman,描述中出现一次"女"就记一次女鞋爆料,男鞋同理。

抽取出跑鞋品牌信息

首先我分析了一下数据,和众多爆料数字不成正比的是,绝大多数爆料都是集中在少数几个品牌上。95%的爆料,来自于20个大品牌。

我做了一个叫做"品牌"的连接表格来进行品牌信息的归类

左边是它有可能出现的名字,右边是我定义的名字。

update `runningshoe (1)`, `品牌`

set brand=品牌.`实际名字`

where `name` like CONCAT('%',品牌.`查询名字`,'%')

以上品牌涵盖了97%以上的爆料剩余的被归入"Others"了抽取价格信息

事实上这个步骤比我想象中的复杂

关于价格的爆料信息有三种一种是国内的爆料,单位是人民币,第二种是美国海淘的爆料有美金有人民币,第三种是日本海淘的爆料,有日元有人民币。

首先我们把最后一个空格后所有有关价格的信息都提取出来再处理。

Alter table `runningshoe (1)` add `price` varchar(255) ;

Update `runningshoe (1)` SET `price`=SUBSTRING_INDEX(name,' ',-1)

结果如下

再对price列下的字符进行清理

Update `runningshoe (1)` SET price=(SUBSTRING_INDEX(`price`,'X',1))

如选取元前的字符,选取'¥'字符后的字符,去掉')'

最后得到价格信息

mysql数据清洗_如何用Mysql清洗数据相关推荐

  1. python删除excel第一行_如何用 Python 清洗数据?

    林骥的第 38 篇文章 0. 序言在做数据分析之前,我们首先要明确数据分析的目标,然后应用数据分析的思维,对目标进行细分,再采取相应的行动.我们可以把数据分析细分为以下 8 个步骤:(1)读取(2)清 ...

  2. mysql 凭证_如何用mysql验证flask/python中的凭证?

    Flask/python登录验证对mysql不起作用,我在搜索google和文档,我在同一件事上看到了一些关于堆栈溢出的问题,但还没有得到回答.在from flask import Flask, re ...

  3. java mysql 输入数据库_如何用JAVA录入数据到SQL数据库

    Java可以使用e68a8462616964757a686964616f31333361326236JDBC对数据库进行读写.JDBC访问一般分为如下流程: 1.加载JDBC驱动程序: 在连接数据库之 ...

  4. mysql 账户管理_如何用MySQL 命令来实现账户管理

    今天我们要学习的是如何用MySQL 命令的方式来对账号进行管理,我们大家都知道在实际应用中MySQL 命令可以完成多种任务,以下的文章主要是对用MySQL 命令的方式来对账号进行管理的具体内容介绍. ...

  5. 如何用mysql建立数据库_如何用MySQL创建数据库?详细教程看这里!

    春哥技术博客:做技术的都知道,MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management Syst ...

  6. 爬取图片到mysql数据库_爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片...

    前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...

  7. 组态中怎么使用mysql数据库_组态王中PLC数据连接MySQL数据库教程

    操作步骤: ①     确定中控室电脑连网,并且安装MySQL环境,下载地址如下:https://www.mysql.com/downloads/ ②     修改win MySQL服务信息(最好修改 ...

  8. mysql猎豹_猎豹网校MySQL数据库

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 猎豹网校MySQL数据库 链接:http://pan.baidu.com/s/1i3wyPjn 密码:qxhm 教程目录 第1章 了解SQL 1.1 数据 ...

  9. 怎么重启网站mysql数据库_如何重启MySQL数据库服务

    服务器的启动和停止 停止:net stop mysql 启动:net start mysql -------------------------mysql mode相关问题-------------- ...

最新文章

  1. python删除指定位置的字符串_python去除区域 python删除字符串中指定位置字符
  2. 【网络流24题】解题报告:A、飞行员配对方案问题(最大流求二分图最大匹配)
  3. 字符串匹配-BM算法改进SUNDAY--Boyer-Moore-Horspool-Sunday Aglorithm
  4. webservice axis1.4生成客户端
  5. 第四范式入选Gartner 2020十大战略技术趋势报告 成全球AutoML代表厂商
  6. 2 HBase数据模型
  7. E20170626-gg
  8. pytorch学习:运行Mask R-CNN例程
  9. winapi里的createthread函数 和linux,Windows API---CreateThread函数
  10. linux鼠标移动消失,debian6升级后鼠标指针消失
  11. datagrid getselected/getselections/getData之间的用法差异
  12. 【Matlab】求解函数导数
  13. 靶机渗透练习21-Noob
  14. 我,马斯克:地球首富却要葬在火星
  15. java 显示百分比_Java 数字转百分比%
  16. Php静默授权,【公众号】微信第三方登录(静默授权和非静默授权)(具体代码:U盘 新浪云SAE)...
  17. c++二维数组定义与初始化
  18. 企业微信网页授权及JS-SDK碰到检查域名所有权不通过的问题
  19. 手机5g什么时候普及_5G 网络什么时候普及,现在购买 4G 手机划算吗?
  20. 用Remix部署Solidity合约

热门文章

  1. 【十】搭建基于qemu的仿真环境与应用
  2. 失联客机大致位置确认 美军水下航行器展开搜寻
  3. 【LeetCode】第930题——和相同的二元子数组(难度:中等)
  4. 道高一尺魔高一丈:iOS破解应用下载中心AppTrackr VS. 苹果
  5. 计算机考研院校对比与分析-南京理工VS华南理工
  6. 2020-04-14
  7. 安恒西湖论剑周周练Reverse刮开有奖WP
  8. 拉格朗日小传及其代数思想理论、应用
  9. NMN产品是什么性质,nmn产品之间效果差异,学会取舍
  10. 详解CAN总线:CAN总线报文格式—遥控帧