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

Pandas数据加载

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

基本数据创建与操作

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

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文件。代码如下:

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

参数说明:

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

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

# 读取CSV文件
df_csv = pd.read_csv("data.csv")

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

3.7.2. Excel 数据加载与存储

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

1 存储为Excel文件

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

# 存储为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()方法。代码如下:

# 读取Excel文件
df_excel = pd.read_excel('data.xlsx')

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

3.7.3. 从MySQL加载与存储数据

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

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存储到数据库中的指定表。代码如下:

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。代码如下:

# 执行SQL查询,读取MySQL数据
sql = "SELECT * FROM score"
df_mysql = pd.read_sql(sql=text(sql), con=conn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/10834.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙物流项目之基础结构

目录: 1、项目结构2、三种包的区别和使用场景3、静态资源的导入4、颜色样式设置5、修改项目名称和图标6、静态包基础目录7、组件的抽离8、在功能模块包里面引用静态资源包的组件 1、项目结构 2、三种包的区别和使用场景 3、静态资源的导入 放在har包中,那…

RK3568使用QT搭建TCP服务器和客户端

文章目录 一、让RK3568开发板先连接上wifi二、客户端代码1. `widget.h` 文件2. `widget.cpp` 文件**详细讲解**1. **`Widget` 类构造函数 (`Widget::Widget`)**2. **UI 布局 (`setupUI`)**3. **连接按钮的槽函数 (`onConnectClicked`)**4. **发送消息按钮的槽函数 (`onSendMess…

Redis|前言

文章目录 什么是 Redis?Redis 主流功能与应用 什么是 Redis? Redis,Remote Dictionary Server(远程字典服务器)。Redis 是完全开源的,使用 ANSIC 语言编写,遵守 BSD 协议,是一个高性…

【算法设计与分析】实验8:分支限界—TSP问题

目录 一、实验目的 二、实验环境 三、实验内容 四、核心代码 五、记录与处理 六、思考与总结 七、完整报告和成果文件提取链接 一、实验目的 掌握分支界限求解问题的思想;针对不同的问题,能够利用分支界限法进行问题拆分和求解以及时间复杂度分析…

2025年大年初一篇,C#调用GPU并行计算推荐

C#调用GPU库的主要目的是利用GPU的并行计算能力,加速计算密集型任务,提高程序性能,支持大规模数据处理,优化资源利用,满足特定应用场景的需求,并提升用户体验。在需要处理大量并行数据或进行复杂计算的场景…

2025:影刀RPA使用新实践--CSDN博客下载

文章目录 一键CSDN博客下载器程序说明指导说明使用步骤 获取方法 一键CSDN博客下载器 程序说明 配置信息:CSDN账号(手机号/邮箱/用户名)、密码、博客文件类型支持markdown格式、html格式(默认值markdown格式)、博客保…

游戏引擎 Unity - Unity 启动(下载 Unity Editor、生成 Unity Personal Edition 许可证)

Unity Unity 首次发布于 2005 年,属于 Unity Technologies Unity 使用的开发技术有:C# Unity 的适用平台:PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域:开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

【Postman接口测试】Postman的安装和使用

在软件测试领域,接口测试是保障软件质量的关键环节之一,而Postman作为一款功能强大且广受欢迎的接口测试工具,能够帮助测试人员高效地进行接口测试工作。本文将详细介绍Postman的安装和使用方法,让你快速上手这款工具。 一、Pos…

边缘检测算法(candy)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 Canny 边缘检测的步骤 1. 灰度转换 如果输入的是彩色图像,则需要先转换为 灰度图像,因为边缘检测通常在单通道图像上进行。 2. 高斯滤波(Gaussian Blur) 由于边缘…

WinDBG查找C++句柄泄露

C代码(频繁点击About按钮导致Mutex句柄泄露) HANDLE _mutexHandle;LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {switch (message){case WM_COMMAND:{int wmId LOWORD(wParam);// 分析菜单选择:switch (wmId){c…

基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff…

大白话讲清楚embedding原理

Embedding(嵌入)是一种将高维数据(如单词、句子、图像等)映射到低维连续向量的技术,其核心目的是通过向量表示捕捉数据之间的语义或特征关系。以下从原理、方法和应用三个方面详细解释Embedding的工作原理。 一、Embe…

mysql中in和exists的区别?

大家好,我是锋哥。今天分享关于【mysql中in和exists的区别?】面试题。希望对大家有帮助; mysql中in和exists的区别? 在 MySQL 中,IN 和 EXISTS 都是用于子查询的操作符,但它们在执行原理和适用场景上有所不…

MySQL高可用

一、mysql路由 1.利用路由器的连接路由特性,用户可以编写应用程序来连接到路由器,并令路由器使用响应的路由策略来处理连接来使其连接到正确的mysql数据库服务器 2.mysql route的部署方式 需要在所有数据库主机之外再打开一台主机mysql-router 配置mysql…

DDD - 微服务架构模型_领域驱动设计(DDD)分层架构 vs 整洁架构(洋葱架构) vs 六边形架构(端口-适配器架构)

文章目录 引言1. 概述2. 领域驱动设计(DDD)分层架构模型2.1 DDD的核心概念2.2 DDD架构分层解析 3. 整洁架构:洋葱架构与依赖倒置3.1 整洁架构的核心思想3.2 整洁架构的层次结构 4. 六边形架构:解耦核心业务与外部系统4.1 六边形架…

LS和MMSE信道估计

1️⃣ LS(最小二乘)信道估计 OFDM系统的信道估计常在频域进行,因为OFDM本身就是基于频域的。频域模型可以表示为: Y ( f ) X ( f ) H ( f ) Z ( f ) Y(f)X(f) H(f)Z(f) Y(f)X(f)H(f)Z(f) 其中, Y ( f ) Y(f) Y(f)表…

C++ strcpy和strcat讲解

目录 一. strcpy 代码演示: 二.strcat 代码演示: 一. strcpy 使⽤字符数组可以存放字符串,但是字符数组能否直接赋值呢? ⽐如: char arr1[] "abcdef"; char arr2[20] {0}; arr2 arr1;//这样这节赋值可…

力扣257. 二叉树的所有路径(遍历思想解决)

Problem: 257. 二叉树的所有路径 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 利用先序遍历的思想,我门用一个List变量path记录当前先序遍历的节点,当遍历到根节点时,将其添加到另一个List变量res中&…

JVM运行时数据区域-附面试题

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域 有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是 依赖用户线程的启动和结束而建立和销毁。 1. 程序计…

向上调整算法(详解)c++

算法流程: 与⽗结点的权值作⽐较,如果⽐它⼤,就与⽗亲交换; 交换完之后,重复 1 操作,直到⽐⽗亲⼩,或者换到根节点的位置 这里为什么插入85完后合法? 我们插入一个85,…