A项目之二:python导入数据库

导入数据库

从某宝爬取下来的数据如图所示:

在这里插入图片描述

利用python爬取到的数据字段有商品的标题文本,商品的价格,商品的付款人数,商品的商家地区和商品的图片。

本文将利用python分析一下的问题:

1.商品的价格分布情况以及商品的销量分布情况。
2.商品的价格与销量之间的关系(采用条形图和散点图)
A.由于商品的价格是连续性数值,所以需要将价格进行分段化,再用条形图方式,将每个价格段的商品的销量数可视化。
B.以商品的价格为x轴,商品的销量为y轴,用散点图方式,描绘价格与销量之间的关系
3.进行商家地区的相关分析:利用直方图,描述商家分布详情;同样利用直方图,描述商家地区与平均销量的关系。
4.进行商品的标题文本分析:使用词云,观察哪些词语在标题在出现频率较高;
使用直方图,观察当出现哪些词语时,平均销量较高。

对数据进行清洗

去掉第一列数据,并且对列名重命名

import pandas as pd
data = pd.read_excel('./口红.xlsx')
data = data.drop(["Unnamed: 0"], axis=1)
data.columns = ['标题', '售价', '付款人数', '商家地址', '图片地址']

处理售价列

rawdata = data['售价'].values
newdata = []
for i in rawdata:
    i = i.replace('元', '')
    i = float(i)
    newdata.append(i)
data['售价'] = newdata

处理付款人数列

data['付款人数'] = data['付款人数'].fillna('0人付款')
rawdata = data['付款人数'].values
newdata = []
for i in rawdata:
    i = i[:-3]
    i = i.replace('+', '')
    if '万' in i:
        i = i.replace('万', '')
        if '.' in i:
            i = i.replace('.', '')
            i = i + '000'
        else:
            i = i + '0000'
    i = float(i)
    newdata.append(i)
data['付款人数'] = newdata
写入数据库
import pandas as pd
import pymysql
from sqlalchemy import create_engine

data=pd.read_excel('./处理后的口红.xlsx')


# 建立连接,username替换为用户名,passwd替换为密码,test替换为数据库名
conn = create_engine('mysql+pymysql://root:1356130369@localhost:3306/test',encoding='utf8')
# 写入数据,table_name为表名,‘replace’表示如果同名表存在就替换掉
pd.io.sql.to_sql(data, "lips", conn, if_exists='replace')

sales = []
number = []
con = create_engine('mysql+pymysql://root:1356130369@localhost:3306/test', encoding='utf8')
sql = "select 售价,付款人数 from lips "
result = con.execute(sql)
result=result.fetchall()
# 每一个样本是一个元组,元组是列表的元素


for item in result:
     sales.append(item[0])  # sales是一个列表
     number.append(item[1]) # number是一个列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值