Pandas 中文手册

6.1 读取CSV文件(最常用,重点)

Pandas读取CSV文件完整指南:从基础到实战

Pandas 中文手册

本章节深入讲解Pandas中读取CSV文件的全面知识,涵盖基础读取方法、核心参数配置如sep和header、数据类型处理、缺失值设置、大数据量优化技巧以及常见错误解决,适合初学者快速掌握。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

Pandas读取CSV文件:最常用功能详解

引言

CSV(逗号分隔值)文件是数据科学中最常见的格式之一,Pandas的read_csv函数提供了强大且灵活的读取能力,能高效处理各种数据场景。本章将从基础开始,逐步深入,帮助您掌握读取CSV文件的核心技巧。

1. 基础读取

使用pd.read_csv函数是最基本的方式。路径可以是相对路径或绝对路径,确保文件存在。

  • 相对路径示例:如果CSV文件在同一目录下,直接用文件名:df = pd.read_csv('data.csv')
  • 绝对路径示例:提供完整路径:df = pd.read_csv('C:/path/to/data.csv'),适用于Windows;或/home/user/data.csv,适用于Linux/macOS。

2. 核心参数配置

这些参数控制CSV文件的结构和读取方式:

  • sep:指定分隔符,默认为逗号,。例如,对于以分号分隔的文件:df = pd.read_csv('data.csv', sep=';')
  • header:指定哪行作为表头,默认为0(第一行)。如果文件无表头,设置header=None
  • index_col:将某列设置为DataFrame的索引。例如:df = pd.read_csv('data.csv', index_col=0) 将第一列设为索引。
  • usecols:选择需要读取的列,可以是列索引列表或列名列表。例如:df = pd.read_csv('data.csv', usecols=['Name', 'Age']) 只读取Name和Age列。

3. 数据类型相关参数

控制读取时的数据类型,避免潜在问题:

  • dtype:指定列的数据类型,可以是字典。例如:df = pd.read_csv('data.csv', dtype={'Age': 'int32'}) 将Age列强制转换为整数类型。
  • parse_dates:将特定列解析为日期类型。例如:df = pd.read_csv('data.csv', parse_dates=['Date']) 将Date列解析为datetime类型。
  • infer_dtype:自动推断数据类型(默认启用),但有时需手动指定以避免混淆。

4. 缺失值处理参数

Pandas默认将空字符串、NaN等识别为缺失值,可通过参数自定义:

  • na_values:指定额外的缺失值标识。例如:df = pd.read_csv('data.csv', na_values=['N/A', 'missing']) 将'N/A'和'missing'视为缺失值。
  • keep_default_na:默认为True,保留默认缺失值标识(如NaN);设置为False,则只使用na_values指定的缺失值。

5. 大数据量读取优化

处理大型CSV文件时,内存优化至关重要:

  • chunksize:指定每次读取的行数,分批处理。例如:chunks = pd.read_csv('large_data.csv', chunksize=10000),然后可迭代处理每个块。
  • nrows:仅读取前几行,用于快速预览数据。例如:df = pd.read_csv('data.csv', nrows=10) 只读取前10行。 结合这些参数,可以有效避免内存溢出,提高效率。

6. 读取CSV文件常见错误与解决方法

  • 文件路径错误:确保路径正确,或使用绝对路径避免歧义。错误提示:FileNotFoundError
  • 编码问题:如果CSV文件含有非ASCII字符,指定编码参数encoding,如encoding='utf-8'。错误提示:UnicodeDecodeError
  • 分隔符不匹配:如果CSV文件使用非逗号分隔,需正确设置sep参数。否则可能读取整个文件为单列。
  • 缺失值处理不当:检查na_values设置,确保正确识别自定义缺失值。
  • 内存不足:对于大文件,使用chunksizenrows分批读取,或考虑转换为更高效格式如Parquet。 通过理解和调整参数,您可以轻松避免这些错误,确保数据读取的准确性。

总结

掌握pd.read_csv的各类参数是高效使用Pandas的基础。从基础读取到高级优化,结合实际示例练习,您将能够自如地处理各种CSV数据场景。后续章节将深入数据清洗和分析,敬请期待!

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包