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

Pandas 模块之数据的读取

        数据读取是数据分析的第一步,只有正确读取数据,才能进行后续的处理和分析。Pandas 提供了丰富的函数来读取不同格式的数据。

一、读取文本文件中的数据

文本文件是一种常见的数据存储格式,Pandas 中主要通过read_table()read_csv()函数来读取。

这两个函数的主要区别在于默认的分隔符不同。read_table()函数默认以 “\t”(制表符)分割文件中的数据,而read_csv()函数默认以 “,”(逗号)分割数据。

比如有一个名为 a2.txt 的文件,里面的数据以逗号分隔,包含品种、本期、上期等信息。这时我们用read_csv()函数可以直接读取。如果用read_table()函数,就需要设置 sep 参数为逗号 “,” 才能正确读取。

这里有个小秘诀,读取文本文件时,不同的分割符主要通过 sep 参数来指定。如果文本文件中的数据是以其他分割符来分割的,比如既有空格又有制表符,那么需要指定 sep 参数为 “\s+”,它可以匹配任何空格。另外,sep 参数还可以是一个正则表达式,在分析日志文件时经常会用到。

二、Excel 文件的读取和写入

Excel 文件也是我们经常打交道的数据格式,Pandas 对 Excel 文件的操作也很便捷。

1. 读取 Excel 文件中的数据

我们使用read_excel()函数来读取 Excel 文件。这个函数的参数很丰富,io 参数指定文件路径或类文件对象;sheet_name 参数指定要读取的工作表,默认值为 0,即第一个工作表,也可以是工作表名称或列表;header 参数指定作为列名的行,默认值为 0,若数据不包含列名,则设置 header=None;index_col 参数用于指定列为索引列。

文件路径分为相对路径和绝对路径。相对路径是以当前文件为基准进行目录指向,“../” 表示当前程序文件所在目录的上一级目录,“./” 表示当前程序文件所在的目录,“/” 表示当前程序文件的根目录。绝对路径是文件在硬盘中的完整路径,在 Python 中可以在路径前加 “r” 来避免转义字符的问题。

2. 读取指定 Sheet 页中的数据

通过read_excel()函数的 sheet_name 参数可以读取指定的 Sheet 页数据。比如 sheet_name=0 表示第一个 Sheet 页,sheet_name=“Sheet1” 表示名为 “Sheet1” 的 Sheet 页,还可以传入列表来同时读取多个 Sheet 页。

3. 通过行列索引读取指定数据

我们可以通过行索引和列索引来读取 Excel 中的指定数据。如果要指定行索引,可以设置read_excel()函数的 index_col 参数。如果要读取指定列的数据,可以使用 usecols 参数,它可以是整数、列表或字符串,分别表示不同的列选择方式。

4. 将数据写入 Excel 文件中

使用to_excel()方法可以将数据写入 Excel 文件。该方法的 excel_writer 参数指定文件路径或 ExcelWriter 对象;sheet_name 参数指定工作表名称,默认为 “Sheet1”;na_rep 参数指定缺失数据的表示方式;columns 参数指定要写入的列;header 参数指定是否写出列名;index 参数指定是否写出行索引;startrow 和 startcol 参数指定开始写入数据的行列位置。

三、CSV 文件的读取和写入

CSV 文件是以逗号分隔的值文件,是一种常见的表格数据格式。

1. 读取 CSV 文件中的数据

read_csv()函数用于读取 CSV 文件。它的参数和read_excel()函数有很多相似之处,filepath_or_buffer 参数指定文件路径或 URL 链接;delimiter 或 sep 参数指定分隔符,默认为逗号;header、names、index_col、usecols 等参数的用法也和read_excel()函数类似。

需要注意的是,不同操作系统下的 CSV 文件分隔符可能不同,比如 Mac 系统下的 CSV 文件分隔符一般为分号,读取时要指定正确的分隔符。另外,encoding 参数用于指定 CSV 文件的编码格式,如 UTF-8、GB2312、GBK 等。

2. 将数据写入 CSV 文件中

to_csv()方法可以将数据写入 CSV 文件。通过设置不同的参数,我们可以实现多种功能,比如指定保存路径(相对路径或绝对路径)、设置分隔符、替换空值、格式化数据、保留特定列、是否保留列名和行索引等。其中,设置 index=False 可以忽略索引,这在很多情况下很有用。

四、读取 HTML 网页

Pandas 的read_html()函数可以读取 HTML 网页中的表格数据,实现简单的爬虫功能。

read_html()函数的 io 参数可以是文件路径或 URL 链接,需要注意网址不接受 https 时,可以尝试去掉 “s”;match 参数是正则表达式,用于返回与正则表达式匹配的表格;flavor 参数指定解析器,默认为 “lxml”;header 和 index_col 参数用于指定列标题和行标题;encoding 参数指定文件的编码格式。

比如,我们可以使用read_html()函数爬取 “NBA 球员薪资” 数据,它会返回一个包含表格数据的 DataFrame 对象。

五、读取数据库中的数据

数据库是存储大量数据的重要方式,Pandas 也可以读取数据库中的数据,主要包括 MySQL 和 MongoDB。

1. 读取 MySQL 数据库中的数据

要读取 MySQL 数据库中的数据,首先需要安装 MySQL 数据库,创建数据库并导入 SQL 文件。然后使用 pymysql 模块来连接数据库,步骤如下:安装 pymysql 模块;使用connect()方法连接数据库,需要指定数据库地址、用户名、密码、数据库名和字符集等;使用cursor()方法创建游标;通过游标执行 SQL 语句;最后关闭游标和连接。

之后,我们可以使用 Pandas 的read_sql()函数读取 MySQL 数据库中的数据。该函数的 sql 参数是 SQL 查询语句;con 参数是连接数据库的引擎;index_col 参数指定某一列作为索引列;coerce_float 参数可以将数字形式的字符串直接以 float 型读入;parse_dates 参数可以将某一列日期型字符串转换为 datetime 型数据。

2. 读取 MongoDB 数据库中的数据

读取 MongoDB 数据库中的数据,需要导入 MongoDB 数据库,使用 PyMongo 模块连接 MongoDB 数据库,然后再使用 Pandas 来读取其中的数据。

http://www.xdnf.cn/news/15233.html

相关文章:

  • 骁龙8 Gen4前瞻:台积3nm工艺如何平衡性能与发热
  • 【leetcode】709. 转换成小写字母
  • 赋能家庭、行业与工业场景,智微智能新一代Twin Lake 全栈智能终端发布
  • 用一张“冰裂纹”石墨烯薄膜,让被动散热也能做 AI 推理——基于亚波长裂纹等离激元的零功耗温度-逻辑门
  • 基于YOLO11的垃圾分类AI模型训练实战
  • MCP上的数据安全策略:IAM权限管理与数据加密实战
  • wedo智能车库-----第31节(免费分享图纸)
  • 独立开发第二周:构建、执行、规划
  • 【Lucene/Elasticsearch】 数据类型(ES 字段类型) | 底层索引结构
  • 记录Ruoyi-vue-pro芋道商城部署过程
  • C++类模版2
  • BERT:双向Transformer革命 | 重塑自然语言理解的预训练范式
  • 事件驱动设计:Spring监听器如何像咖啡师一样优雅处理高并发
  • Linux的NetworkManager的nmcli配置网桥(bridge) 笔记250712
  • Linux操作系统之进程间通信:共享内存
  • 同步、异步、阻塞、非阻塞之间联系与区别
  • SOEM build on ubuntu
  • 2025Stockapi股票数据接口,股票实时数据,技术指标macd,kdj,cci技术指标算法,集合竞价数据,龙虎榜数据接口
  • 【图像处理基石】如何入门大规模三维重建?
  • Gameplay - 独立游戏Celeste的Player源码
  • Unity开发中常用的洗牌算法
  • 用 Jpom 10 分钟搭好一套轻量级 CICD + 运维平台
  • Python技巧记录
  • 电网失真下单相锁相环存在的问题
  • Redis专题总结
  • 【工具】什么软件识别重复数字?
  • AI产品经理面试宝典第11天:传统软件流程解析与AI产品创新对比面试题与答法
  • 分布式数据库系统模式结构深度解析
  • C++ 模板工厂、支持任意参数代理、模板元编程
  • 科技驯服烈日狂沙:中东沙漠农场的光储革命