Pandas基础07(Csv/Excel/Mysql数据的存储与读取)

Pandas数据加载

在数据科学和机器学习的流程中,数据的加载与存储是非常重要的一环。Pandas是Python中用于数据处理的强大库,它提供了多种方式来加载和保存数据,支持不同的数据格式,如CSV、Excel以及数据库(例如MySQL)。本篇博客将详细介绍如何使用Pandas来加载和保存数据。

基本数据创建与操作

首先,我们通过Pandas创建一个基本的DataFrame,并填充一些随机生成的数据。以下是代码示例:

python 复制代码
import numpy as np
import pandas as pd

# 创建一个DataFrame,包含8行3列,随机整数数据
df = pd.DataFrame(np.random.randint(0, 100, size=(8, 3)), columns=['Chinese', 'Math', 'English'])

# 显示创建的DataFrame
df
3.7.1. CSV 数据加载与存储

CSV(逗号分隔值)是最常见的数据存储格式之一,Pandas提供了简便的API来将数据存储为CSV文件以及从CSV文件加载数据。

1.存储为CSV文件

使用to_csv()方法可以将DataFrame保存为CSV文件。代码如下:

python 复制代码
# 存储为CSV文件
df.to_csv("data.csv", header=True, index=False)

参数说明:

  • header=True: 表示保存列名。
  • index=False: 表示不保存行索引。
2 读取CSV文件

使用read_csv()方法可以读取CSV文件并将其转换为DataFrame。代码如下:

python 复制代码
# 读取CSV文件
df_csv = pd.read_csv("data.csv")

此外,还可以使用sep参数来设置分隔符,默认情况下是逗号(,)。如果数据的分隔符是其他符号(如制表符\t),可以通过修改sep来指定。

3.7.2. Excel 数据加载与存储

Excel文件是另一种常见的数据存储格式,Pandas提供了很方便的方法来处理Excel文件。

1 存储为Excel文件

使用to_excel()方法可以将DataFrame存储为Excel文件。代码如下:

python 复制代码
# 存储为Excel文件
df.to_excel('data.xlsx', sheet_name='score', header=True, index=False)

参数说明:

  • sheet_name='score': 指定工作表的名称。
  • header=True: 表示保存列名。
  • index=False: 表示不保存行索引。
2 读取Excel文件

读取Excel文件时,使用read_excel()方法。代码如下:

python 复制代码
# 读取Excel文件
df_excel = pd.read_excel('data.xlsx')

同样,你可以使用sheet_name来指定要读取的工作表名称。

3.7.3. 从MySQL加载与存储数据

除了文件格式,Pandas还可以直接与数据库(例如MySQL)进行交互。为了从MySQL数据库加载和保存数据,首先需要安装pymysql和sqlalchemy。

1 安装依赖

在命令行中执行以下命令来安装所需的库:

复制代码
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple
2 存储数据到MySQL

通过SQLAlchemy库,我们可以连接MySQL数据库,并使用to_sql()方法将DataFrame存储到数据库中的指定表。代码如下:

python 复制代码
from sqlalchemy import create_engine, text

# 连接MySQL数据库
conn = create_engine('mysql+pymysql://root:123456@localhost:3306/db_student')

# 将DataFrame存储到数据库
df.to_sql(
    name='score',  # 数据库表名
    con=conn,      # 数据库连接
    index=False,   # 是否保存行索引
    if_exists='append'  # 如果表存在,追加数据
)

参数说明:

  • name='score': 指定要存储的数据库表名。
  • if_exists='append': 如果表已经存在,数据将被追加。
3 从MySQL读取数据

使用read_sql()方法可以执行SQL查询并将结果加载为DataFrame。代码如下:

python 复制代码
# 执行SQL查询,读取MySQL数据
sql = "SELECT * FROM score"
df_mysql = pd.read_sql(sql=text(sql), con=conn)
相关推荐
IT19958 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
paopaokaka_luck11 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
lzhdim12 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
这个DBA有点耶15 小时前
2026年国产数据库“实际用户增长最快”核验指南:口径优先级、可查数据与选型动作清单
数据库·mysql·架构
程序员塔塔喵15 小时前
【MySQL篇|第三篇】脏读,幻读,不可重复读
数据库·mysql·不可重复读·幻读·脏读
这个DBA有点耶16 小时前
备份成功≠数据可恢复:静默损坏会让物理备份把坏页一起带走
数据库·mysql·代码规范
数据库小学妹16 小时前
MySQL MDL锁等待排查:DDL卡住与长事务定位
数据库·后端·mysql
lhdz_bj17 小时前
Mysql Server配置详解
mysql·配置·file·config·1024程序员节·option·选项
quantdash_cc19 小时前
如何检查滚动收益率计算中的窗口长度不足?——从数学定义到 Pandas 实现
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
syagain_zsx20 小时前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节