数据分析入门_PART1python基础语法_实战项目01商铺数据文件加载及存储为pickle

以下案例用到的原数据文件欢迎大家到我的csdn下载https://download.csdn.net/download/weixin_40974922/11255740

'''
【项目01】  商铺数据加载及存储

作业要求:
1、成功读取“商铺数据.csv”文件
2、解析数据,存成列表字典格式:
[{'name':value1,'price':value2,'address':values3,'commentNum':values4,
'class':values5,'star':values6,'taste':values6,'environment':value7,'service':value8},...,{}]

注:数据处理尤其要弄清最终的输出格式,再进行编码 think twice,code once
如本题 外层【】内层{}
则制定方法 :
step1先创建listoflist【['name',value1],[]'price',value2],['address'....】
listofcouplist才能用于dict()

step2 dict(list)形成{'name':v1,"price":v2...}
step3 m=[] for循环+m.append(dic)形成最终结构

3、数据清洗:
① comment,price两个字段清洗成数字
② 清除字段缺失的数据
③ commentlist拆分成三个字段,并且清洗成数字

注数据清洗尤其观察数据有哪些错误情况,从而制定清洗方法
4、结果存为.pkl文件

'''
"\n【项目01】  商铺数据加载及存储\n\n作业要求:\n1、成功读取“商铺数据.csv”文件\n2、解析数据,存成列表字典格式:[{'var1':value1,'var2':value2,'var3':values,...},...,{}]\n3、数据清洗:\n① comment,price两个字段清洗成数字\n② 清除字段缺失的数据\n③ commentlist拆分成三个字段,并且清洗成数字\n4、结果存为.pkl文件\n\n"
#1读取数据
f=open(r'C:\Users\HASEE\Desktop\商铺数据.csv','r',encoding='utf8')
#print(f.readline())
#print(f.readline())
#print(f.readline())

#2编写数据清洗函数分别获得清洗后的标准化数据
def getCommentNum(s):
    #清洗‘我要点评’(即无店铺信息)
    if '条'not in s:
        return '无效数据'
    else:
        return s.split('                    ')[1]

def getPrice(s):
    #清洗无价格数据
    if'¥'not in s:
        return'无效数据'
    else:
        return s.split('¥')[1]

def getScore(s):
    #清理空score
    if '.'not in s:
        return'无效数据'
    else:
        ss=s.split('                                ')
       # print(ss)
        taste=ss[0][2:]
        #print(taste)
        env=ss[1][2:]
       # print(env)
        ser=ss[2][2:-1]
        return[taste,env,ser]


#3逐行读取数据,清洗数据,储存有效数据入lst1,并最终转换为listofdics m[]
m=[]
for i in f.readlines()[1:]:
    if '无效数据'not in i:
        s1 = i.split(',')
        name=s1[0]
        star=s1[3]
        cn = getCommentNum(s1[2])
        p = getPrice(s1[4])
        c=s1[0]
        ad=s1[1]
        sc=getScore(s1[-1])
        taste=sc[0]
        env=sc[1]
        ser=sc[2]
        lst1=[['name',name],['price',p],['address',ad],['commentNum',cn],
            ['class',c],['star',star],['taste',taste],['environment',env],['service',ser]]
        m.append(dict(lst1))
        
    else:
        continue
f.close()
#print(m[0:10])   


#4、结果存为.pkl文件
import pickle
fout=open(r'C:\Users\HASEE\Desktop\newtest.txt','wb')
pickle.dump(m,fout)
fout.close()
print('finished')
[{'name': '美食', 'price': '125', 'address': '望蓉城老坛酸菜鱼(合生汇店)', 'commentNum': '无效数据', 'class': '美食', 'star': '该商户暂无星级', 'taste': '8.3', 'environment': '8.4', 'service': '8.5'}, {'name': '美食', 'price': '48', 'address': '泰国街边料理', 'commentNum': '条点评', 'class': '美食', 'star': '准四星商户', 'taste': '7.4', 'environment': '7.6', 'service': '7.4'}, {'name': '美食', 'price': '21', 'address': '壹面如故(苏宁生活广场店)', 'commentNum': '条点评', 'class': '美食', 'star': '准四星商户', 'taste': '7.0', 'environment': '7.2', 'service': '7.2'}, {'name': '美食', 'price': '142', 'address': '鮨谷•Aburiya(合生汇店)', 'commentNum': '条点评', 'class': '美食', 'star': '准五星商户', 'taste': '8.9', 'environment': '8.5', 'service': '8.4'}, {'name': '美食', 'price': '无效数据', 'address': '我们的烤肉我们的馕', 'commentNum': '条点评', 'class': '美食', 'star': '准四星商户', 'taste': '7.5', 'environment': '6.8', 'service': '7.5'}, {'name': '美食', 'price': '24', 'address': '麦当劳(万达店)', 'commentNum': '条点评', 'class': '美食', 'star': '准四星商户', 'taste': '7.4', 'environment': '7.2', 'service': '7.2'}, {'name': '美食', 'price': '70', 'address': '蒸年青STEAMYOUNG(百联又一城购物中心店)', 'commentNum': '条点评', 'class': '美食', 'star': '准五星商户', 'taste': '8.6', 'environment': '8.6', 'service': '8.6'}, {'name': '美食', 'price': '14', 'address': '丸来玩趣(百联又一城购物中心店)', 'commentNum': '条点评', 'class': '美食', 'star': '准四星商户', 'taste': '7.0', 'environment': '6.5', 'service': '6.5'}, {'name': '美食', 'price': '47', 'address': '韩国雪冰(合生汇店)', 'commentNum': '条点评', 'class': '美食', 'star': '四星商户', 'taste': '7.7', 'environment': '7.5', 'service': '7.6'}, {'name': '美食', 'price': '81', 'address': '小菜园新徽菜(五角场万达广场店)', 'commentNum': '条点评', 'class': '美食', 'star': '准五星商户', 'taste': '8.5', 'environment': '8.9', 'service': '9.0'}]
finished
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python数据分析实战项目可以通过使用Python基础、爬虫、数据分析数据可视化等技术来完成。在项目中,可以使用Python数据分析库(如Pandas、NumPy和Matplotlib)来处理和分析数据。可以使用爬虫技术来获取需要的数据,并将其保存为Json格式或其他适合的数据结构。例如,可以将数据框转换为Json格式并保存为.pkl文件,然后使用pickle加载数据。另外,可以使用Python的文件读取方式来读取文本数据。例如,可以使用open函数打开文件并使用readlines方法逐行读取文本数据。通过综合运用这些技术,可以完成Python数据分析实战项目。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [基于Python数据分析实战项目](https://blog.csdn.net/weixin_48320524/article/details/107033350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [精选合辑|30个Python数据分析实战项目(含源码)](https://blog.csdn.net/zihong521/article/details/119914033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值