我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python对中国500强排行榜数据进行可视化分析实战

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python对中国500强排行榜数据进行可视化分析实战

?数据采集

?确定网址

首先,我们对目标网址进行数据采集。我们可以清楚的看到,在2022年中新财富500富人榜。

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

下面,我们开始写代码。

?获取数据

第一步,发送请求,获得数据。

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)

我们得到数据是这样的,大家可能会以为是一个json数据,其实不是,这个返回值需要我们进一步处理。

jsonpCallback({"data":{"pagesize":15,"current":1,"total":500,"rows":[{"assets":4983.5,"year":2022,"sex":"男","name":"钟睒睒","rank":1,"company":"农夫山泉/万泰生物","industry":"矿泉水饮料、医药生物","id":151478,"addr":"浙江杭州/北京","rankLst":"1","age":"68"}······)

?解析数据

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

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

这段代码中,我们使用 Python 的 re 模块中的 findall() 函数来查找 JSONP 回调函数的参数。findall() 函数可以返回一个列表,其中包含了所有匹配的子字符串。

在这个例子中,我们使用 findall() 函数来查找 JSONP 回调函数的参数,并将其存储在 res.text 变量中。然后,我们使用 [0] 来获取第一个匹配的子字符串,并将其存储在 html_data 变量中。

这样,我们就得到了json数据,接下来,我们就开始解析数据。

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文件里面,特别简单,只需呀四行代码就可以实现。

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

这段代码中,我们使用 Python 的 open() 函数打开了一个名为 "财富榜.csv" 的文件,并使用 csv.DictWriter() 函数创建了一个 csv_writer 对象。fieldnames 参数用于指定字段名称,这里我们指定了 "姓名"、"财富值"、"主要公司"、"相关行业"、"公司总部"、"排名" 六个字段。

然后,我们使用 csv_writer.writeheader() 方法写入表头,表头包括了字段名称。

最后,我们使用 csv_writer.write() 方法向文件中写入数据,数据内容为一个字典对象。

写入字典数值。

csv_writer.writerow(dit)

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

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

?数据可视化

?代码

我们在这里,就要用到pyecharts库,不得不说,这个功能非常强大,我们写这个代码也非常简单,我们只需要去官方文档,复制粘贴就可以,根据自己的数据稍微改动一点代码就可以。

import pandas as pd
import pyecharts.options as opts
from pyecharts.charts import Line
df = pd.read_csv('财富榜.csv')
x = ['农夫山泉/万泰生物' ,'宁德时代' ,'腾讯控股' ,'今日头条', '拼多多']
c = (
    Line()
    .add_xaxis(x)
    .add_yaxis("财富值",df['财富值'].values)
    .set_global_opts(title_opts=opts.TitleOpts(title="财富值分布"))
)

这段代码中,我们使用 Pandas 库的 read_csv() 函数读取了一个名为 "财富榜.csv" 的 CSV 文件,并将其存储在 df 变量中。然后,我们使用 Line() 函数创建了一个新的 DataFrame 对象,并使用 add_xaxis() 方法将 x 列添加到 DataFrame 中。接着,我们使用 add_yaxis() 方法将 DataFrame 中的 "财富值" 列添加到 DataFrame 的 "财富值" 列中。最后,我们使用 set_global_opts() 方法设置了 DataFrame 的标题选项,并使用 title_opts 参数设置了标题。

我们直接让它生成一个网页,方便我们直观的感受。

c.render('地图.html')

?效果

这里,我做的图不够好看,但是基本功能都实现了。

 大家如果想做更多的图表,可以去官方网站看看,官方网站有很多示例可以使用。

?总结

通过本文的学习,我们学习了数据采集以及可视化分析。我们在研究官方文档的时候,也是在一种学习,本次实战,我们明白如何解决返回值是jsonpCallback()的问题。今天就到这里

以上就是Python对中国500强排行榜数据进行可视化分析实战的详细内容,更多关于Python排行榜数据可视化的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python对中国500强排行榜数据进行可视化分析实战

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python对中国500强排行榜数据进行可视化分析实战

这篇文章主要介绍了Python对中国500强排行榜数据进行可视化分析实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-16

怎么利用Python对500强排行榜数据进行可视化分析

今天小编给大家分享一下怎么利用Python对500强排行榜数据进行可视化分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一
2023-06-30

用Python实现网易云音乐的数据进行数据清洗和可视化分析

目录Python实现对网易云音乐的数据进行一个数据清洗和可视化分析对音乐数据进行数据清洗与可视化分析对音乐数据进行数据清洗与可视化分析歌词文本分析总结Python实现对网易云音乐的数据进行一个数据清洗和可视化分析 对音乐数据进行数据清洗与可
2022-06-02

如何使用Python中的数据分析库和可视化工具对大规模数据进行处理和展示

如何使用Python中的数据分析库和可视化工具对大规模数据进行处理和展示,需要具体代码示例数据分析和可视化是现代科学和商业决策的关键工具。Python是一种功能强大且易于使用的编程语言,具有丰富的数据分析库和可视化工具,如NumPy、Pan
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录