Pandas读取外部数据的几种实现方法
作者:林深时见鹿1
本文主要介绍了Pandas读取外部数据的几种实现方法,主要包括文本文件、Excel文件、JSON文件以及数据库文件(MySQL/PostgreSQL)的读取方式,感兴趣的可以了解一下
Pandas 支持读取几乎所有常见的外部数据格式,核心是 pd.read_* 系列函数,以下是最常用的格式及用法:
1. 读取文本文件(CSV/TXT)
这是最常用的场景,核心函数 pd.read_csv(),支持自定义分隔符、编码、列名等。
import pandas as pd
# 读取CSV文件(默认逗号分隔)
df = pd.read_csv(
"data.csv", # 文件路径(本地/URL)
encoding="utf-8", # 编码(中文常用utf-8/gbk)
header=0, # 第0行作为列名(默认)
index_col=None, # 不将某列作为索引
sep=",", # 分隔符(TXT常用"\t")
na_values=["NA", "缺失", "-"], # 哪些值视为NaN
skiprows=1, # 跳过前1行(如跳过注释行)
usecols=["姓名", "分数", "班级"] # 只读取指定列
)
print("读取的CSV数据:")
print(df.head()) # 查看前5行关键参数说明
| 参数 | 作用 | 常用值 |
|---|---|---|
| encoding | 文件编码 | utf-8/gbk(解决中文乱码) |
| header | 列名行号 | None(无列名)/0(第一行) |
| na_values | 缺失值映射 | ["", "NA", "无"] |
| usecols | 筛选列 | ["列1", "列2"](减少内存占用) |
| dtype | 指定列类型 | {"分数": int, "班级": str} |
2. 读取 Excel 文件(XLS/XLSX)
核心函数 pd.read_excel(),需先安装依赖:
pip install openpyxl # 读取xlsx pip install xlrd # 读取xls
基础用法
import pandas as pd
# 读取Excel文件(指定sheet)
df = pd.read_excel(
"data.xlsx",
sheet_name="学生成绩", # 指定sheet名称/索引(0为第一个)
header=0,
usecols="A:C", # 只读取A-C列
dtype={"分数": float},
na_values=["未填写"]
)
print("读取的Excel数据:")
print(df.info()) # 查看数据基本信息3. 读取 JSON 文件
核心函数 pd.read_json(),适合读取结构化的 JSON 数据:
import pandas as pd
# 读取JSON文件
df = pd.read_json(
"data.json",
orient="records", # JSON格式(records:[{"列1":值}, ...])
encoding="utf-8"
)
print(df.head())4. 读取数据库数据(MySQL/PostgreSQL)
需安装数据库驱动(以 MySQL 为例):
pip install pymysql
基础用法
import pandas as pd
import pymysql
# 建立数据库连接
conn = pymysql.connect(
host="localhost",
user="root",
password="123456",
database="test_db"
)
# 读取数据库表
df = pd.read_sql(
"SELECT * FROM student_scores", # SQL语句
con=conn # 数据库连接
)
conn.close() # 关闭连接
print(df.head())到此这篇关于Pandas读取外部数据的几种实现方法的文章就介绍到这了,更多相关Pandas读取外部数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
