Pandas 读取与提取数据的三种常用方式
本文详解在 Python 数据分析中,如何使用 Pandas 库高效读取 CSV、TXT 文本文件、多 Sheet Excel 表格以及关系型数据库表。涵盖分隔符指定、列名自定义、数据库引擎配置等核心参数,提供可直接运行的代码示例,助您快速完成数据加载。
Pandas 数据加载基础
Pandas 作为 Python 核心数据分析库,内置了多种文件与数据库读取接口。使用前需确保已安装 pandas 及对应格式依赖(如处理 Excel 建议安装 openpyxl)。以下按数据类型分类说明标准操作流程。

使用 read_csv 读取纯文本数据
read_csv 是 Pandas 最常用的文本解析函数,不仅支持标准 CSV,也适用于各类分隔符的 TXT 文件。
第1步:读取默认逗号分隔的 CSV 文件
当数据文件采用默认的逗号分隔且首行为表头时,直接传入文件路径即可自动识别行列。

调用代码如下:

import pandas as pd
# 读取默认逗号分隔且包含表头的文件
df = pd.read_csv('data/myTest1.txt')
print(df.head())
第2步:自定义分隔符与列名读取 TXT
非逗号分隔的 TXT 文件需手动指定 sep 参数。若文件无表头,可通过 header=None 配合 names 自定义列名。

# 指定制表符为分隔符,并重置列索引
df_custom = pd.read_csv(
'data/myTest.txt',
sep='\t', # 根据实际文件修改:\t、-、/ 等
header=None, # 关闭自动读取第一行作为表头
names=['ID', 'Name', 'Value'] # 替换为实际业务列名
)
print(df_custom.columns)

使用 read_excel 读取电子表格
针对 .xlsx 或 .xls 文件,Pandas 提供 read_excel 方法。工作簿通常包含多个 sheet,可通过 sheet_name 参数精准定位目标表。
第1步:加载指定工作表的 Excel 数据
明确目标 Sheet 名称后传入 sheet_name 即可。若文件存在冗余引导行,可追加 skiprows 跳过干扰数据。

# 读取指定名称的 Sheet,跳过前导空白行
df_excel = pd.read_excel(
'reports/sales_report.xlsx',
sheet_name='Sales_Data',
skiprows=2
)
print(df_excel.shape)

使用 read_sql 直连数据库获取数据
对于存储在 MySQL 或 PostgreSQL 中的数据,推荐使用 SQLAlchemy 构建数据库引擎,再通过 read_sql 将查询结果转为 DataFrame。
第1步:安装驱动并创建数据库连接
终端执行 pip install pymysql sqlalchemy 安装必要包。连接时需填写主机地址、端口、用户名、密码及数据库名。

from sqlalchemy import create_engine
# 构建标准 URL:dialect+driver://user:password@host/dbname
engine = create_engine('mysql+pymysql://root:your_password@localhost:3306/test_db')
print("数据库引擎初始化完成")
第2步:编写 SQL 查询并载入 DataFrame
确认目标数据表结构后,拼接 SELECT 语句调用读取函数。若数据量极大,建议分批查询以避免内存溢出。

# 定义查询语句
sql_query = "SELECT id, username, created_at FROM users_info WHERE status = 1"
# 执行查询并将结果直接映射为 Pandas 表格
df_db = pd.read_sql(sql_query, engine)
print(df_db.info())

以上就是 Pandas 提取数据的三种常用方式的详细内容。在实际项目中,建议结合 chunksize 参数处理超大型数据集,并根据源文件格式灵活调整编码(encoding)与空值策略(na_values)。更多关于 Python 数据分析与数据预处理的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













