Pandas讀取外部數(shù)據(jù)的幾種實(shí)現(xiàn)方法
Pandas 支持讀取幾乎所有常見的外部數(shù)據(jù)格式,核心是 pd.read_* 系列函數(shù),以下是最常用的格式及用法:
1. 讀取文本文件(CSV/TXT)
這是最常用的場(chǎng)景,核心函數(shù) pd.read_csv(),支持自定義分隔符、編碼、列名等。
import pandas as pd
# 讀取CSV文件(默認(rèn)逗號(hào)分隔)
df = pd.read_csv(
"data.csv", # 文件路徑(本地/URL)
encoding="utf-8", # 編碼(中文常用utf-8/gbk)
header=0, # 第0行作為列名(默認(rèn))
index_col=None, # 不將某列作為索引
sep=",", # 分隔符(TXT常用"\t")
na_values=["NA", "缺失", "-"], # 哪些值視為NaN
skiprows=1, # 跳過(guò)前1行(如跳過(guò)注釋行)
usecols=["姓名", "分?jǐn)?shù)", "班級(jí)"] # 只讀取指定列
)
print("讀取的CSV數(shù)據(jù):")
print(df.head()) # 查看前5行關(guān)鍵參數(shù)說(shuō)明
| 參數(shù) | 作用 | 常用值 |
|---|---|---|
| encoding | 文件編碼 | utf-8/gbk(解決中文亂碼) |
| header | 列名行號(hào) | None(無(wú)列名)/0(第一行) |
| na_values | 缺失值映射 | ["", "NA", "無(wú)"] |
| usecols | 篩選列 | ["列1", "列2"](減少內(nèi)存占用) |
| dtype | 指定列類型 | {"分?jǐn)?shù)": int, "班級(jí)": str} |
2. 讀取 Excel 文件(XLS/XLSX)
核心函數(shù) pd.read_excel(),需先安裝依賴:
pip install openpyxl # 讀取xlsx pip install xlrd # 讀取xls
基礎(chǔ)用法
import pandas as pd
# 讀取Excel文件(指定sheet)
df = pd.read_excel(
"data.xlsx",
sheet_name="學(xué)生成績(jī)", # 指定sheet名稱/索引(0為第一個(gè))
header=0,
usecols="A:C", # 只讀取A-C列
dtype={"分?jǐn)?shù)": float},
na_values=["未填寫"]
)
print("讀取的Excel數(shù)據(jù):")
print(df.info()) # 查看數(shù)據(jù)基本信息3. 讀取 JSON 文件
核心函數(shù) pd.read_json(),適合讀取結(jié)構(gòu)化的 JSON 數(shù)據(jù):
import pandas as pd
# 讀取JSON文件
df = pd.read_json(
"data.json",
orient="records", # JSON格式(records:[{"列1":值}, ...])
encoding="utf-8"
)
print(df.head())4. 讀取數(shù)據(jù)庫(kù)數(shù)據(jù)(MySQL/PostgreSQL)
需安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng)(以 MySQL 為例):
pip install pymysql
基礎(chǔ)用法
import pandas as pd
import pymysql
# 建立數(shù)據(jù)庫(kù)連接
conn = pymysql.connect(
host="localhost",
user="root",
password="123456",
database="test_db"
)
# 讀取數(shù)據(jù)庫(kù)表
df = pd.read_sql(
"SELECT * FROM student_scores", # SQL語(yǔ)句
con=conn # 數(shù)據(jù)庫(kù)連接
)
conn.close() # 關(guān)閉連接
print(df.head())到此這篇關(guān)于Pandas讀取外部數(shù)據(jù)的幾種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Pandas讀取外部數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- pandas讀取CSV文件時(shí)查看修改各列的數(shù)據(jù)類型格式
- Pandas讀取行列數(shù)據(jù)最全方法
- python?pandas庫(kù)讀取excel/csv中指定行或列數(shù)據(jù)
- python3 pandas 讀取MySQL數(shù)據(jù)和插入的實(shí)例
- pandas讀取csv格式數(shù)據(jù)時(shí)header參數(shù)設(shè)置方法
- 使用python的pandas讀取excel文件中的數(shù)據(jù)詳情
- 利用Pandas讀取表格行數(shù)據(jù)判斷是否相同的方法
- Python數(shù)據(jù)分析之pandas讀取數(shù)據(jù)
- Python如何利用pandas讀取csv數(shù)據(jù)并繪圖
- Python 中pandas索引切片讀取數(shù)據(jù)缺失數(shù)據(jù)處理問(wèn)題
相關(guān)文章
Python實(shí)戰(zhàn)基礎(chǔ)之Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列的空值個(gè)數(shù)
我們?cè)谔幚頂?shù)據(jù)的時(shí)候,經(jīng)常需要檢查數(shù)據(jù)的質(zhì)量,也需要知道出問(wèn)題的數(shù)據(jù)在哪個(gè)位置,下面這篇文章主要給大家介紹了關(guān)于Python實(shí)戰(zhàn)基礎(chǔ)之利用Pandas統(tǒng)計(jì)某個(gè)數(shù)據(jù)列空值個(gè)數(shù)的相關(guān)資料,需要的朋友可以參考下2022-08-08
Python使用psycopg2操作PostgreSQL數(shù)據(jù)庫(kù)的完全指南
psycopg2 是 Python 中最流行的 PostgreSQL 數(shù)據(jù)庫(kù)適配器,它實(shí)現(xiàn)了 Python DB API 2.0 規(guī)范,同時(shí)提供了許多 PostgreSQL 特有的功能支持,下面我們來(lái)看看如何使用psycopg2操作PostgreSQL進(jìn)行連接和增刪改查操作吧2025-06-06
Django token 生成與驗(yàn)證的實(shí)現(xiàn)
本文主要介紹了Django token 生成與驗(yàn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
pytorch排查loss值出現(xiàn)nan的情況及解決
在實(shí)驗(yàn)室訓(xùn)練中,損失值出現(xiàn)nan是因條件篩選導(dǎo)致空列表,觸發(fā)torch.log()錯(cuò)誤,通過(guò)包裹訓(xùn)練代碼快速定位問(wèn)題,最終解決方案是添加1e-7常量確保數(shù)值穩(wěn)定性,避免計(jì)算異常2025-09-09
詳談python read readline readlines的區(qū)別
下面小編就為大家?guī)?lái)一篇詳談python read readline readlines的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
python 函數(shù)的缺省參數(shù)使用注意事項(xiàng)分析
這篇文章主要介紹了python 函數(shù)的缺省參數(shù)使用注意事項(xiàng),結(jié)合實(shí)例形式分析了Python函數(shù)缺省參數(shù)的使用方法與操作注意事項(xiàng),需要的朋友可以參考下2019-09-09
python求numpy中array按列非零元素的平均值案例
這篇文章主要介紹了python求numpy中array按列非零元素的平均值案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06

