使用pandas读取HTML和JSON数据

这篇具有很好参考价值的文章主要介绍了使用pandas读取HTML和JSON数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,Pandas是一个功能强大的数据分析库,它提供了许多灵活且高效的方法来处理和分析数据。本文将介绍如何使用Pandas读取HTML数据和JSON数据,并展示一些常见的应用场景。

一、读取HTML网页

HTML(超文本标记语言)是一种用于创建网页的标准标记语言。网页通常由HTML标签和内容组成,这些标签描述了网页的结构和样式。在网页上,数据可以以表格、列表或其他形式展示。Pandas可以读取这些HTML数据,并将其转换为数据框,方便我们进行进一步的分析和处理。 

1.读取HTML数据

Pandas提供了一个函数read_html(),可以直接从HTML文件或URL中读取数据。下面是读取HTML数据的基本语法:

import pandas as pd

data = pd.read_html('file.html')  # 从HTML文件读取数据
data = pd.read_html('http://example.com/table.html')  # 从URL读取数据

 这个函数会返回一个包含所有HTML表格的列表。每个表格都被转换为一个数据框,可以像处理其他数据框一样进行操作。

2.处理HTML数据

一旦我们将HTML数据读取到Pandas中,我们就可以使用各种方法处理和分析数据,下面是一些常见的操作。

  • 查看数据

使用head()方法可以查看数据的前几行,默认显示前5行。

print(data[0].head())  # 查看第一个表格的前5行
  •  数据清洗

HTML数据通常包含一些不需要的行或列,可以使用Pandas的数据清洗方法来删除这些数据。

clean_data = data[0].dropna()  # 删除含有NaN值的行
clean_data = clean_data.drop(columns=['Unnamed: 0'])  # 删除指定列
  • 数据转换

有时,HTML数据中的某些列可能被错误地识别为字符串,可以使用Pandas的数据转换方法将其转换为正确的数据类型。

clean_data['Price'] = clean_data['Price'].str.replace('$', '').astype(float)  # 将价格列转换为浮点数
  • 数据分析

一旦数据清洗和转换完成,就可以使用Pandas提供的各种方法进行数据分析,比如计算平均值、中位数、标准差等统计指标。

mean_price = clean_data['Price'].mean()  # 计算价格的平均值
median_price = clean_data['Price'].median()  # 计算价格的中位数
std_price = clean_data['Price'].std()  # 计算价格的标准差

 3.实际应用

下面将通过一个实际的例子来演示如何使用Pandas读取和处理HTML数据。假设要分析一个网站上的证券数据,网站上的数据以HTML表格的形式展示,可以使用Pandas读取这些数据,并进行进一步的分析。

首先,需要安装Pandas库。可以使用以下命令来安装:

pip install pandas

然后,可以使用以下代码来读取HTML数据:

import pandas as pd

data = pd.read_html('http://example.com/stock.html')

接下来可以查看数据的前几行,并进行数据清洗和转换:

clean_data = data[0].dropna()
clean_data['Price'] = clean_data['Price'].str.replace('$', '').astype(float)

最后进行数据分析,并输出结果:

mean_price = clean_data['Price'].mean()
median_price = clean_data['Price'].median()
std_price = clean_data['Price'].std()

print('平均价格:', mean_price)
print('中位数价格:', median_price)
print('价格标准差:', std_price)

通过这些步骤,可以轻松地读取和分析HTML数据,从而得到有关证券价格的统计指标。

二、读取JSON文件

JSON是一种常用的数据交换格式,Pandas提供了一个函数read_json(),可以直接从JSON文件或URL中读取数据。下面是读取JSON数据的基本语法:

import pandas as pd

data = pd.read_json('file.json')  # 从JSON文件读取数据
data = pd.read_json('http://example.com/data.json')  # 从URL读取数据

1.处理JSON数据

一旦将JSON数据读取到Pandas中,就可以使用各种方法处理和分析数据,下面是一些常见的操作。

  • 查看数据

使用head()方法可以查看数据的前几行,默认显示前5行。

print(data.head())  # 查看数据的前5行
  • 数据清洗

在处理JSON数据时,可能会遇到一些缺失值或异常值。Pandas提供了一些方法来处理这些情况。

清除缺失值:使用dropna()方法可以删除包含缺失值的行或列。

data.dropna()  # 删除包含缺失值的行
data.dropna(axis=1)  # 删除包含缺失值的列

填充缺失值:使用fillna()方法可以将缺失值替换为指定的值。

data.fillna(0)  # 将缺失值替换为0
  • 数据转换

Pandas提供了一些方法来转换数据类型,以及对数据进行重塑和透视。

转换数据类型:使用astype()方法可以将一列数据转换为指定的数据类型。

data['column_name'].astype(int)  # 将一列数据转换为整数类型

重塑数据:使用pivot()方法可以将数据从长格式转换为宽格式。

data.pivot(index='column1', columns='column2', values='value')  # 将数据从长格式转换为宽格式
  • 数据分析

Pandas提供了丰富的方法来进行数据分析,包括数据聚合、数据排序、数据统计等。

数据聚合:使用groupby()方法可以对数据进行分组,并进行聚合操作。

data.groupby('column').sum()  # 按列进行分组,并计算每组的总和

数据排序:使用sort_values()方法可以按指定的列对数据进行排序。

data.sort_values('column')  # 按列对数据进行排序

数据统计:使用describe()方法可以计算数据的统计指标,如平均值、中位数、标准差等。

data.describe()  # 计算数据的统计指标

2.输出数据

在处理和分析数据之后,可以将结果保存为其他格式的文件,如CSV、Excel等。

  • 保存为CSV文件:使用to_csv()方法可以将数据保存为CSV文件。

data.to_csv('output.csv')  # 将数据保存为CSV文件
  • 保存为Excel文件:使用to_excel()方法可以将数据保存为Excel文件。

data.to_excel('output.xlsx')  # 将数据保存为Excel文件

综上所述,本文介绍了如何使用Pandas读取和处理HTML、JSON数据。通过Pandas的函数,可以轻松地从JSON文件或HTML中读取数据,并将其转换为DataFrame,进而使用Pandas提供的各种方法进行数据清洗、转换和分析。 文章来源地址https://www.toymoban.com/news/detail-802323.html

到了这里,关于使用pandas读取HTML和JSON数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【pandas基础】--数据读取

    数据读取是第一步,只有成功加载数据之后,后续的操作才有可能。 pandas 可以读取和导入各种数据格式的数据,如CSV,Excel,JSON,SQL,HTML等,不需要手动编写复杂的读取代码。 pandas 提供了导入各类常用文件格式数据的接口,这里介绍3种最常用的加载数据的接口。 读取cs

    2024年02月02日
    浏览(31)
  • python&Pandas二:数据读取与写入

    Pandas提供了各种函数和方法来实现数据读取和写入的操作。下面我将详细介绍Pandas中常用的数据读取和写入的方法。 数据读取: 从CSV文件读取:可以使用 pd.read_csv() 函数来读取CSV文件,并将其转换为DataFrame对象。 从Excel文件读取:可以使用 pd.read_excel() 函数来读取Excel文件,

    2024年02月03日
    浏览(50)
  • pandas(九) 数据读取-读取csv、excle、txt、mysql数据

    一、Pandas需要先读取表格类型的数据,然后进行分析 数据类型 说明 读取方法 CSV. tsV. txt 用逗号分隔、tab分割的纯文本文件 pd.read_csv excel xls、xlsx文件 pd.read_excel mysql 关系型数据库表 pd.read_sql 二、Pandas 读取数据 数据资料:https://grouplens.org/datasets/movielens/ 读取CSV, 使用默认的

    2024年02月12日
    浏览(61)
  • 【数据处理】Pandas读取CSV文件示例及常用方法(入门)

    查看读取前10行数据 2067 向前填充 指定列的插值填充 使用某数据填充指定列的空值 示例: 类似切片 array([‘SE’, ‘cv’, ‘NW’, ‘NE’], dtype=object) 类似数据库查询中的groupby查询 先添加新的一列按月将数据划分 聚合,对指定的列按月划分求平均值等 min 最小值 max 最大值 sum

    2024年02月06日
    浏览(205)
  • 用Python的pandas读取excel文件中的数据

    hello呀!各位铁子们大家好呀,今天呢来和大家聊一聊用Python的pandas读取excel文件中的数据。 使用pandas的 read_excel() 方法,可通过文件路径直接读取。注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件、并同时指定sheet下的数据。可以一次读

    2024年02月02日
    浏览(53)
  • 【python】pyarrow.parquet+pandas:读取及使用parquet文件

      Parquet是一种用于 列式存储 和 压缩数据 的文件格式,广泛应用于大数据处理和分析中。Python提供了多个库来处理Parquet文件,例如pyarrow和fastparquet。   本文将介绍如何使用pyarrow.parquet+pandas库操作Parquet文件。    pyarrow.parquet 模块,可以读取和写入Parquet文件,以及进行

    2024年02月21日
    浏览(40)
  • pandas数据分析40——读取 excel 合并单元格的表头

    案例背景 真的很容易疯....上班的单位的表格都是不同的人做的,所以就会出现各种合并单元格的情况,要知道我们用pandas读取数据最怕合并单元格了,因为没规律...可能前几列没合并,后面几列又合并了....而且pandas对于索引很严格,这种合并单元读取进来就是空的,还怎么

    2024年02月12日
    浏览(53)
  • pandas读取Excel核心源码剖析,面向过程仿openpyxl源码实现Excel数据加载

    📢作者: 小小明-代码实体 📢博客主页:https://blog.csdn.net/as604049322 📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论! 今天我们将研究pandas如何使用openpyxl引擎读取xlsx格式的Excel的数据,并考虑以面向过程的形式简单的自己实现一下。 截止目前本人所使用的pandas和openpyxl版本为:

    2023年04月19日
    浏览(57)
  • 《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance)

    《Python数据分析技术栈》第06章使用 Pandas 准备数据 01 Pandas概览(Pandas at a glance) Wes McKinney developed the Pandas library in 2008. The name (Pandas) comes from the term “Panel Data” used in econometrics for analyzing time-series data. Pandas has many features, listed in the following, that make it a popular tool for data wrang

    2024年01月23日
    浏览(44)
  • pandas读取excel,再写入excel

    需求是这样的,从一个表读取数据,然后每次执行创建一个新表将值写入 读取这个表 写入到这个表   分别对应的是e、h列数据,代码如下:

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包