0
点赞
收藏
分享

微信扫一扫

linux常用命令大全

修炼之士 2023-04-29 阅读 109

 最近更新

🌟上节回顾

我们通过前面的学习了解到了 CSV 文件的写入和读取方式。这也是一种常用的数据存储方式,需要我们熟练掌握。我们通过介绍了,CSV是一种常用的文件格式,可以用于存储纯文本数据,并且每行数据都使用逗号分隔。看看今天学啥吧。

⭐️CSV操作实战

我们前面学习了理论知识,那么我们今天来和大家介绍学习一下CSV实战操作,看看前面学习的效果怎么样,今天,这个案例,特别简单。通过这个案例,大家就可以举一反三,怎么保存成CSV文件。

🌟确定目标

首先,我们对目标网址进行数据采集。我们可以清楚的看到,在2022年中新财富500富人榜。我们现在想把数据保存下来,发现复制粘贴太麻烦,我们就借助python工具,可以我们数据获取下来,怎么保存到本地呢。这里,我们用之前学到的方法,用字典的方法写入数据。保存成CSV文件。那么,下面看看怎么操作吧。

确定好我们的目标网址之后,我们要找到我们需要的数据源,通过开发者工具分析,我们不难发现其数据地址。

🌟获取数据

我们首先发送请求,获得数据。然后解析数据,获取我们想要的数据,因为,我们之前说过,没有讲怎么保存数据,本文重点讲如何保存数据,保存成CSV文件。

import requests

url = 'https://service.ikuyu.cn/XinCaiFu2/pcremoting/bdListAction.do?method=getPage&callback=jsonpCallback&sortBy=&order=&type=4&keyword=&pageSize=15&year=2022&pageNo=1&from=jsonp&_=1680092323527'


headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}

res = requests.get(url,headers=headers)

html_data = re.findall('jsonpCallback\((.*?)\)',res.text)[0]

我们发现,我们得到了这样jsonpCallback()的数据,可能就有人担心了,那这种情况,我们该怎么办呢,不要慌,我们只需要正则表达式就可以。

🌟写入字典

我们把刚刚获取到的数据,写入字典,我们看看代码怎么实现。

for index in json.loads(html_data)['data']['rows']:
    # print(index)
    dit = {
        '姓名':index['name'],
        '财富值':index['assets'],
        '主要公司':index['company'],
        '相关行业': index['industry'],
        '公司总部':index['addr'],
        '排名': index['rank'],
    }

我们先把数据存入到字典里面,然后,方便我们写入csv文件里面,我们看看打印出来的字典数值是怎么样子的。

🌟保存CSV

下面就是数据的写入了。其实,把字典数值写入到csv文件里面,特别简单,只需呀四行代码就可以实现。

我们在这里注意一下,在保存CSV文件时,需要使用有效的编码方式。如果使用不同的编码方式,则可能会导致数据处理过程中出现问题。例如,如果CSV文件中包含中文字符,则需要使用UTF-8编码方式保存文件。

f = open('财富榜.csv',mode='a',encoding='utf-8',newline='')
csv_writer = csv.DictWriter(f,fieldnames=['姓名','财富值','主要公司','相关行业','公司总部','排名'])
csv_writer.writeheader()

下面我们直接写入字典数值。这样就把字典里面的内容写入到了CSV文件里面。

csv_writer.writerow(dit)

这时候,我们就会在文件夹里面找到财富值的csv文件,我们打开看看效果。

在这里,我只采集了第一页的数据,也就是前15的数据,如果,我们想进行多页数据采集,只需要对网址进行改变,我们会发现网址有相似的规律。直接for循环遍历就可以,这里,就不过多解释。

总结

我们在学完这个案例之后,大家就会明白这个其实很简单,其他的只需要模仿这个来写就可以了。

CSV文件实战需要考虑多个方面,包括选择合适的文件格式、设置正确的文件头、使用有效的编码方式等。我们这里就不过多介绍,我们还是数据库用到的机会比较大。

举报

相关推荐

0 条评论