Python 数据分析微专业课程--项目01商铺数据加载及存储
2018-08-29 21:05
676 查看
项目01商铺数据加载及存储
1.项目说明
读取商铺数据文件,并对数据进行解析和清洗,并将结果储存
2.项目具体要求
- 成功读取“商铺数据.csv”文件
- 解析数据,存成列表字典格式:[{‘var1’:value1,’var2’:value2,’var3’:values,…},…,{}]
- 数据清洗:① comment,price两个字段清洗成数字② 清除字段缺失的数据 ③ commentlist拆分成三个字段,并且清洗成数字
- 结果存为.pkl文件
3.实现思路:
- 1.使用open语句读取数据,使用for循环语句对每一行进行解析和清洗,并存储成[[”]]格式,
- 2.使用dict()函数将数据转换成列表字典格式,存入列表中,直到循环结束,得到全部成功解析和清洗的数据。
- 3.使用pickle.dump()函数将数据存储成pkl文件
4.实现过程:
1.数据读取:
f = open('C:/Users/Hjx/Desktop/商铺数据.csv','r',encoding='utf8') for i in f.readlines()[:5]: print(i.split(','))
说明:第一步使用open语句读取商铺数据,然后查看前5条数据
2.创建comment、price、commentlist清洗函数
def fcm(s): if '条' in s: return int(s.split(' ')[0]) else: return '缺失数据' def fpr(s): if '¥' in s: return float(s.split('¥')[-1]) else: return '缺失数据' def fcl(s): if ' ' in s: quality = float(s.split()[0][2:]) environment = float(s.split()[1][2:]) service = float(s.split()[2][2:-1]) return [quality,environment,service] else: return '缺失数据'
说明:因为循环对每一条数据进行解析和清洗,因此需要创建清洗函数
根据数据特征需要进行解析和清洗的主要是comment、price、commentlist三个字段
fcm函数:清洗comment字段,用空格分段,选取结果list的第一个为点评数,并且转化为整型
fpr函数:清洗price字段,用¥分段,选取结果list的最后一个为人均价格,并且转化为浮点型
fcl函数:清洗commentlist字段,price字段用空格分段,分别清洗出质量、环境及服务数据,并转化为浮点型
3.数据清洗:
datalst = [] # 创建空列表,用于存储字典格式的数据 f.seek(0) #因为之前有打印前五行,所以需要将指针调回开始位置 n = 0 # 创建计数变量 for i in f.readlines(): data = i.split(',') #将该行数据按','分离开 classify = data[0] # 提取分类 name = data[1] # 提取店铺名称 comment_count = fcm(data[2]) # 提取评论数量 star = data[3] # 提取星级 price = fpr(data[4]) # 提取人均 add = data[5] # 提取地址 qua = fcl(data[6])[0] # 提取质量评分 env = fcl(data[6])[1] # 提取环境评分 ser = fcl(data[6])[2] # 提取服务评分 if '缺失数据' not in [comment_count, price, qua]: # 用于判断是否有数据缺失 n += 1 data_re = [['classify',classify], ['name',name], ['comment_count',comment_count], ['star',star], ['price',price], ['address',add], ['quality',qua], ['environment',env], ['service',ser]] datalst.append(dict(data_re)) # 生成字典,并存入列表datalst print('成功加载%i条数据' %n) else: continue print(datalst) print('总共加载%i条数据' %n)
说明:使用for 循环语句逐行操作,提取该行的各个字段数据,若该行没有’缺失数据’,这将提取的数据转换成字典格式
并存储到列表中,直到所有数据操作完成。
4.数据存储.pkl数据
import pickle pic = open('C:/Users/Hjx/Desktop/data.pkl','wb') pickle.dump(datalst,pic) pic.close() print('finished!')
说明:将数据存成了pkl文件需要导入pickle模块,使用pickle.dump()方法将数据存储到指定的文件中,
若需要读取则使用 pickle.load()方法。
5.总结
- 该项目对python 基础知识学习状况进行检验,该项目使用到了python学习中的各个知识点,
- 包括:变量,数据类型及其转换,列表和字典操作,条件及循环语句运用,函数编程,数据读写等
- 通过对该项目的操作,将python的基础知识做了一个全面梳理和运用,基本具备了处理解析和清洗数据的能力
相关文章推荐
- Python 数据分析微专业课程--项目05 多场景下的图表可视化表达
- Python 数据分析微专业课程--项目06 城市餐饮店铺选址分析
- Python 数据分析微专业课程--项目实战12 财富分配实验
- Python 数据分析微专业课程--项目实战14 泰坦尼克号获救问题
- Python 数据分析微专业课程--项目03 视频网站数据清洗整理和结论研究
- Python 数据分析微专业课程--项目04 多场景下的算法构建
- Python 数据分析微专业课程--项目07 电商打折套路解析
- Python 数据分析微专业课程--项目08 中国姓氏排行研究
- Python 数据分析微专业课程--项目实战10 国产烂片深度揭秘
- Python 数据分析微专业课程--项目02知乎数据清洗整理和结论研究
- Python 数据分析微专业课程--项目实战09 房价影响因素挖掘
- Python 数据分析微专业课程--项目实战11 中国城市资本流动问题探索
- 数据加载、存储与文件格式 利用Python进行数据分析 第6章
- 利用Python进行数据分析--数据加载、存储与文件格式
- Python 数据分析(一) 本实验将学习 pandas 基础,数据加载、存储与文件格式,数据规整化,绘图和可视化的知识
- 利用python进行数据分析-数据加载、存储与文件格式1
- 利用python进行数据分析-数据加载、存储与文件格式2
- python数据分析之:数据加载,存储与文件格式
- 利用python进行数据分析之数据加载存储与文件格式