Python Pandas 读写 CSV 文件完整指南

阿橙
阿橙
发布时间:2026-10-16| 13人浏览过
原创

本文详细介绍如何使用 Python Pandas 库高效读取和写入 CSV 文件。涵盖基础读取方法、索引设置、日期解析、列名自定义以及数据导出等核心操作,通过具体代码示例展示 read_csv 和 to_csv 函数的关键参数用法,帮助开发者快速掌握 CSV 数据处理技巧。

1. 使用 pandas 读取 CSV 文件

原始数据包含了公司员工的数据:

NameHire DateSalarySick Days remaining
Graham Chapman03/15/1450000.0010
John Cleese06/01/1565000.008
Eric Idle05/12/1445000.0010
Terry Jones11/01/1370000.003
Terry Gilliam08/12/1448000.007
Michael Palin05/23/1366000.008

将 CSV 文件读入 pandas DataFrame 快速而直接:

import pandas
df = pandas.read_csv('hrdata.csv')
print(df)

操作非常简洁:仅需三行代码,其中核心逻辑仅有一行。pandas.read_csv() 函数负责打开、分析并读取指定的 CSV 文件,将结果存储于 DataFrame 对象中。打印该 DataFrame 将产生如下输出:

以下是值得注意的几点:

首先,pandas 自动识别 CSV 的第一行作为列名并直接应用。然而,由于未指定索引,pandas 默认使用从零开始的整数索引。此外,若检查列的数据类型,会发现 pandas 已将 Salary 和 Sick Days 列正确转换为数值类型,但 Hire Date 列仍保持为字符串类型,这在交互模式下可以轻易验证:

让我们一次性解决上述问题。若要使用其他列作为 DataFrame 的索引,需添加 index_col 可选参数:

df2 = pandas.read_csv('hrdata.csv', index_col='Name')
print(df2)

此时,Name 字段即成为 DataFrame 的索引:

接下来,修复「Hire Date」字段的数据类型。可以使用 parse_dates 可选参数强制 pandas 将指定数据作为日期读取,该参数定义为需要作为日期处理的列名列表:

df3 = pandas.read_csv('hrdata.csv', index_col='Name', parse_dates=['Hire Date'])
print(df3)

注意输出的差异:

现在日期格式已正确,可以在交互模式下轻松确认:

如果 CSV 文件的第一行中不包含列名,可以使用 names 可选参数提供列名列表。若需覆盖第一行现有的列名,也可使用此选项。在此情况下,还必须使用 header=0 可选参数告知 pandas.read_csv() 忽略现有的列名:

df4 = pandas.read_csv('hrdata.csv', 
            index_col='Employee', 
            parse_dates=['Hired'], 
            header=0, 
            names=['Employee', 'Hired','Salary', 'Sick Days'])
print(df4)

请注意,由于列名称已更改,因此还必须更改 index_col 和 parse_dates 可选参数中指定的列名,现在这会产生以下输出:

2. 使用 pandas 写入 CSV 文件

当然,如果无法将数据从 pandas 中输出,那 pandas 可能没有多大好处。将 DataFrame 写入 CSV 文件就像读取一个文件一样简单。下面让我们将带有新列名称的数据写入新的 CSV 文件:

df5 = pandas.read_csv('hrdata.csv', 
            index_col='Employee', 
            parse_dates=['Hired'],
            header=0, 
            names=['Employee', 'Hired', 'Salary', 'Sick Days'])
df5.to_csv('hrdata_modified.csv')

此代码与上述读取代码之间的唯一区别是 print(df) 替换为 df.to_csv(),新的 CSV 文件如下所示:

参考此文章连接

到此这篇关于python pandas 解析(读取、写入) CSV 文件的文章就介绍到这了,更多相关python pandas 解析CSV 文件内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。