Python标准库csv适合处理结构简单的CSV文件。通过open()打开文件后,用csv.reader逐行读取数据,每行返回列表;若文件含表头,可用csv.DictReader将每行转为字典,键为列名。pandas库提供更强大的功能,尤其适合大数据或复杂分析,一起详细了解下。
Python怎么读取本地csv文件?
在Python中,可以使用标准库csv或第三方库pandas来读取本地CSV文件。以下是两种方法的详细示例:
方法1:使用内置csv模块
python1import csv
3# 1. 打开CSV文件
4with open('data.csv', mode='r', encoding='utf-8') as file:
5 # 2. 创建CSV阅读器
6 reader = csv.reader
8 # 3. 逐行读取数据
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']) # 通过列名访问

参数说明:
encoding='utf-8':避免中文乱码,根据文件实际编码调整,如gbk。
csv.DictReader:自动将第一行作为键名,生成字典格式数据。
方法2:使用pandas(适合大数据处理)
python1import pandas as pd
3# 1. 读取CSV文件
4df = pd.read_csv('data.csv', encoding='utf-8')
6# 2. 查看数据
7print(df.head()) # 显示前5行
8print(df['Name']) # 访问某一列
10# 3. 处理缺失值(可选)
11df = df.dropna() # 删除空值行
优势:
直接生成DataFrame,支持复杂操作。
可处理大文件,支持分块读取。
常见问题解决
文件路径错误:
使用绝对路径或确保文件与脚本同目录。
在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("数据加载成功!")
6 print(df.describe()) # 快速统计
7except FileNotFoundError:
8 print("错误:文件未找到,请检查路径!")
9except pd.errors.EmptyDataError:
10 print("错误:文件为空!")
根据需求选择方法:简单操作用csv模块,数据分析推荐pandas。
在Python中,读取本地CSV文件通常使用csv模块或pandas库。选择哪种方法取决于你的具体需求,如果你需要进行复杂的数据处理或分析,推荐使用pandas。如果你只是简单地读取数据到列表中,那么使用csv模块就足够了。