Python標準庫csv適合處理結(jié)構(gòu)簡單的CSV文件。通過open()打開文件后,用csv.reader逐行讀取數(shù)據(jù),每行返回列表;若文件含表頭,可用csv.DictReader將每行轉(zhuǎn)為字典,鍵為列名。pandas庫提供更強大的功能,尤其適合大數(shù)據(jù)或復(fù)雜分析,一起詳細了解下。
Python怎么讀取本地csv文件?
在Python中,可以使用標準庫csv或第三方庫pandas來讀取本地CSV文件。以下是兩種方法的詳細示例:
方法1:使用內(nèi)置csv模塊
python1import csv
3# 1. 打開CSV文件
4with open('data.csv', mode='r', encoding='utf-8') as file:
5 # 2. 創(chuàng)建CSV閱讀器
6 reader = csv.reader
8 # 3. 逐行讀取數(shù)據(jù)
9 for row in reader:
10 print(row) # 每行是一個列表,例如:['Name', 'Age', 'City']
12# 讀取為字典(第一行為表頭)
13with open('data.csv', mode='r', encoding='utf-8') as file:
14 reader = csv.DictReader(file)
15 for row in reader:
16 print(row['Name'], row['Age']) # 通過列名訪問

參數(shù)說明:
encoding='utf-8':避免中文亂碼,根據(jù)文件實際編碼調(diào)整,如gbk。
csv.DictReader:自動將第一行作為鍵名,生成字典格式數(shù)據(jù)。
方法2:使用pandas(適合大數(shù)據(jù)處理)
python1import pandas as pd
3# 1. 讀取CSV文件
4df = pd.read_csv('data.csv', encoding='utf-8')
6# 2. 查看數(shù)據(jù)
7print(df.head()) # 顯示前5行
8print(df['Name']) # 訪問某一列
10# 3. 處理缺失值(可選)
11df = df.dropna() # 刪除空值行
優(yōu)勢:
直接生成DataFrame,支持復(fù)雜操作。
可處理大文件,支持分塊讀取。
常見問題解決
文件路徑錯誤:
使用絕對路徑或確保文件與腳本同目錄。
在Jupyter中可通過!ls查看當前目錄文件。
編碼問題:
報錯UnicodeDecodeError時,嘗試encoding='gbk'或encoding='latin1'。
分隔符非逗號:
指定分隔符:pd.read_csv('data.csv', sep=';')。
完整示例
python1import pandas as pd
3try:
4 df = pd.read_csv('data.csv')
5 print("數(shù)據(jù)加載成功!")
6 print(df.describe()) # 快速統(tǒng)計
7except FileNotFoundError:
8 print("錯誤:文件未找到,請檢查路徑!")
9except pd.errors.EmptyDataError:
10 print("錯誤:文件為空!")
根據(jù)需求選擇方法:簡單操作用csv模塊,數(shù)據(jù)分析推薦pandas。
在Python中,讀取本地CSV文件通常使用csv模塊或pandas庫。選擇哪種方法取決于你的具體需求,如果你需要進行復(fù)雜的數(shù)據(jù)處理或分析,推薦使用pandas。如果你只是簡單地讀取數(shù)據(jù)到列表中,那么使用csv模塊就足夠了。