Python CSV 文件的读取方法

读取CSV文件常用方法包括:1. 使用csv模块的reader读取为列表;2. 用DictReader按表头读取为字典;3. 用pandas.read_csv处理数据分析任务,支持分隔符、编码设置及分块读取,推荐根据需求选择。

读取 CSV 文件在 Python 中非常常见,主要使用内置的 csv 模块,也可以借助第三方库如 pandas。下面介绍几种常用且实用的方法。

使用 csv 模块读取(基础方法)

Python 自带的 csv 模块适合处理结构简单、数据量不大的文件。

示例代码:

import csv

with open('data.csv', mode='r', encoding='utf-8') as file: reader = csv.reader(file) for row in reader: print(row) # 每行是一个列表

说明:每一行数据以列表形式返回,按列顺序排列。注意指定正确的编码格式(如 utf-8),避免中文乱码。

使用 DictReader 读取(推荐)

如果 CSV 文件有表头,DictReader 更方便,它将每行转为字典,字段名为键。

示例代码:

import csv

with open('data.csv', mode='r', encoding='utf-8') as file: reader = csv.DictReader(file) for row in reader: print(row) # 每行是字典,如 {'name': 'Alice', 'age': '25'}

这种方法可读性强,便于按列名访问数据,比如 row['name']

使用 pandas 读取(适合数据分析)

对于数据处理和分析任务,pandas 提供了更强大的功能。

示例代码:

import pandas as pd

df = pd.read_csv('data.csv') print(df) # 显示表格形式的数据

pandas 能自动识别表头,支持缺失值处理、类型转换、筛选等操作。安装方式:pip install pandas

处理特殊情况的小技巧

实际使用中可能遇到不同分隔符、引号或编码问题。

  • 若字段用制表符分隔,加参数 delimiter='\t'
  • 跳过空行可设置 skip_blank_lines=True(pandas 支持)
  • 读取时指定列类型,避免数字被当字符串处理
  • 处理大文件时,可用 chunksize 分批读取,节省内存

基本上就这些。根据需求选择合适的方法:简单脚本用 csv,数据分析优先考虑 pandas。不复杂但容易忽略的是编码和分隔符设置,务必检查原始文件格式。