当前位置: 首页 > news >正文

一周学会Pandas2 Python数据处理与分析-Pandas2数据读取

锋哥原创的Pandas2 Python数据处理与分析 视频教程:  

2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

Pandas将数据加载到DataFrame后,就可以使用DataFrame对象的属性和方法进行操作。这些操作有的是完成数据分析中的常规统计工作,有的是对数据的加工处理。无论是在分析统计方面还是在加工处理方面,Pandas都提供了丰富且实用的功能。

Pandas可以将指定格式(CSV,Excel,SQL等)的数据读取到DataFrame中,并将DataFrame输出为指定格式(CSV,Excel,SQL等)的文件。

Pandas 是一个强大的 Python 库,用于数据处理和分析。它提供了许多函数来读取和导入数据,支持多种文件格式,如 CSV、Excel、SQL 数据库、JSON 等。以下是一些常用的数据读取和导出方法:

格式文件格式读取函数写入(导出)函数
binaryExcelread_excelto_excel
textCSVread_csvto_csv
textJSONread_jsonto_json
text网页表格HTMLto_html
text剪切板read_clipboardto_clipboard
SQLSQLread_sqlto_sql

其中:

读取函数一般会赋值给一个变量 df, df = pd.read_()

输出函数是将变量自身进行操作并输出 df.to()

常用函数方法 Excel 对象 ~ pd.ExcelFile 对象 ~ pd.ExcelWriter 对象 ~ pd.ExcelWriter 对象的属性和方法 读取数据 ~ pd.read_csv() ~ pd.read_excel() ~ pd.json_normalize() ~ pd.read_pickle() ~ pd.read_table() ~ pd.DataFrame.from_dict() 从字典创建 DataFrame ~ pd.read_clipboard() 从剪贴板读取数据 ~ pd.read_json() 读取 JSON ~ pd.read_sql() 读取数据库数据 ~ pd.read_fwf() 读取固定宽度格式文件 ~ pd.read_html() 从 HTML 文档提取表格数据 ~ pd.read_parquet() 读取 Parquet 文件 导出数据 ~ to_csv() 导出为 CSV文件 ~ to_excel() 导出为 Excel 文件 ~ to_dict() 输出字典 ~ to_pickle() 序列化为 pickle 文件 ~ to_json() 转换为 JSON 格式字符串 ~ to_html() 转换为 HTML 表格格式 ~ to_sql() 写入到关系型数据库 ~ to_parquet() 保存为 parquet 文件

1.读取CSV文件

CSV(Comma-Separated Values)是用逗号分隔值的数据形式,有时也称为字符分隔值,因为分隔字符也可以不是逗号。CSV文件的一般文件扩展名为.csv,用制表符号分隔也常用.tsv作为扩展名。CSV不仅可以是一个实体文件,还可以是字符形式,以便于在网络上传输。

CSV不带数据样式,标准化较强,是最为常见的数据格式。

下面student_scores.csv可以看下格式。

参考代码:

import pandas as pd
​
df = pd.read_csv('student_scores.csv')

2.读取Excel文件

参考代码:

import pandas as pd
​
df = pd.read_excel('student_scores.xlsx')  # 默认读取第一个标签页Sheet
df = pd.read_excel('student_scores2.xlsx', sheet_name="Sheet2")  # 指定标签Sheet页

3.从SQL数据库读取

Pandas需要引入SQLAlchemy库来支持SQL,在SQLAlchemy的支持下,它可以实现所有常见数据库类型的查询、更新等操作。

首先第一步要安装pymysql,作为连接mysql的驱动,pip安装命令:

pip install pymysql -i https://mirrors.aliyun.com/pypi/simple

然后再安装下sqlalchemy库:pip安装命令

pip install flask-sqlalchemy -i https://mirrors.aliyun.com/pypi/simple

安装后,Python Interpreter里面里面可以看到

参考代码:

import pandas as pd
​
from sqlalchemy import create_engine
​
# 创建数据库引擎
# 注意:替换下面的用户名、密码、主机名和数据库名
engine = create_engine('mysql+pymysql://root:123456@localhost:3308/db_xuanke')
​
# 使用SQLAlchemy引擎读取数据到DataFrame
query = "SELECT * FROM rc_admin"
df = pd.read_sql_query(query, con=engine)
print(df)

运行结果:

   admin_id admin_username admin_password  admin_privilege
0         1          admin         123456              255
1         2        jwadmin         123456               96

4.读取JSON文件

JSON是互联网上非常通用的轻量级数据交换格式,是HTTP请求中数据的标准格式之一。Pandas提供的JSON读取方法在解析网络爬虫数据时,可以极大地提高效率。

json文件示例:

[
  {
    "name": "Alice",
    "age": 25,
    "city": "New York"
  },
  {
    "name": "Bob",
    "age": 30,
    "city": "Los Angeles"
  },
  {
    "name": "Charlie",
    "age": 35,
    "city": "Chicago"
  }
]    

参考代码:

import pandas as pd
​
df = pd.read_json('file.json')
print(df)

运行输出:

      name  age         city
0    Alice   25     New York
1      Bob   30  Los Angeles
2  Charlie   35      Chicago

5.读取HTML表格

pd.read_html()函数可以接受HTML字符串、HTML文件、URL,并将HTML中的<table>标签表格数据解析为DataFrame。如返回有多个df的列表,则可以通过索引取第几个。如果页面里只有一个表格,那么这个列表就只有一个DataFrame。

操作html,必须要安装lxml库:

pip install lxml -i https://mirrors.aliyun.com/pypi/simple

html表格文件示例:

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <title>Example Table</title>
</head>
​
<body>
<table>
    <thead>
    <tr>
        <th>Name</th>
        <th>Age</th>
        <th>City</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>Alice</td>
        <td>25</td>
        <td>New York</td>
    </tr>
    <tr>
        <td>Bob</td>
        <td>30</td>
        <td>Los Angeles</td>
    </tr>
    <tr>
        <td>Charlie</td>
        <td>35</td>
        <td>Chicago</td>
    </tr>
    </tbody>
</table>
</body>
​
</html>

参考代码:

import pandas as pd
​
try:
    # 读取 HTML 文件
    dfs = pd.read_html('example.html')
​
    # 打印每个表格的基本信息和内容
    for i, df in enumerate(dfs):
        print(f"第 {i + 1} 个表格基本信息:")
        df.info()
​
        rows, columns = df.shape
​
        if rows < 10:
            print(f"第 {i + 1} 个表格全部内容信息:")
            print(df.to_csv(sep='\t', na_rep='nan'))
        else:
            print(f"第 {i + 1} 个表格前几行内容信息:")
            print(df.head().to_csv(sep='\t', na_rep='nan'))
​
except FileNotFoundError:
    print("错误: 文件未找到,请检查文件路径。")
except ValueError:
    print("错误: 文件中未找到有效的表格。")
except Exception as e:
    print(f"错误: 发生了未知错误: {e}")

运行输出:

第 1 个表格基本信息:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Name    3 non-null      object
 1   Age     3 non-null      int64 
 2   City    3 non-null      object
dtypes: int64(1), object(2)
memory usage: 204.0+ bytes
第 1 个表格全部内容信息:
    Name    Age City
0   Alice   25  New York
1   Bob 30  Los Angeles
2   Charlie 35  Chicago

6.从剪切板读取

剪贴板(Clipboard)是操作系统级的一个暂存数据的地方,它保存在内存中,可以在不同软件之间传递,非常方便。Pandas支持读取剪贴板中的结构化数据,这就意味着我们不用将数据保存成文件,而可以直接从网页、Excel等文件中复制,然后从操作系统的剪贴板中读取,非常方便。

复制下内容到剪切板:

  姓名 年龄 城市
1 小明 25  北京
2 小红 30  上海
3 小邓 35  广州    

示例代码:

import pandas as pd
​
df = pd.read_clipboard()
print(df)

运行结果:

相关文章:

  • ------------------V2024-2信息收集完结------------------
  • Linux 入门五:Makefile—— 从手动编译到工程自动化的蜕变
  • 使用开源项目蜂信物联/FastBee前端安装失败
  • Python进阶编程总结
  • vue项目proxy代理的方式
  • DeepSeek与搜索引擎:AI生成内容如何突破“语义天花板”
  • 【前端】VUE前端利用iframe嵌入帆软报表
  • 【Python算法】基础语法、算法技巧模板、二分、DFS与BFS、并查集
  • V4L2杂谈
  • 【U-Boot】解决U-Boot的“Unknown command ‘help‘ - try ‘help‘”问题
  • 等保十问/等保相关基本问题解答
  • git日志规范
  • FastAPI + Vue3 对 SSE 通知机制的实现与进阶思考
  • Python----概率论与统计(贝叶斯,朴素贝叶斯 )
  • 青少年编程与数学 02-016 Python数据结构与算法 05课题、哈希表
  • 如何在Linux系统Docker部署Dashy并远程访问内网服务界面
  • ROS云课三分钟-差动移动机器人巡逻报告如何撰写-中等报告
  • 使用pip3安装PyTorch与PyG,实现NVIDIA CUDA GPU加速
  • LeetCode Hot100 刷题笔记(1)—— 哈希、双指针、滑动窗口
  • <component>用于挂载切换几个不同的组件
  • 上海政府网站的建设的评价/微信管理系统登录
  • server2008 做网站/品牌营销策划方案怎么做
  • 东营网格通二维码/seo视频教程汇总
  • 开公司要做哪些准备/外链seo
  • 高端企业网站建设好的公司/整合营销公司排名
  • 企业网站建设的基本原则有哪些?/免费外网加速器