Python pandas筛选CSV指定行并保存的新手教程

纸上星河
纸上星河
发布时间:2026-10-13| 4人浏览过
原创

本文详细介绍如何使用Python的pandas库读取CSV文件,通过指定列条件筛选特定数据行,并将结果保存为新的CSV文件。教程涵盖从导入库、读取文件、处理DataFrame结构到执行筛选逻辑及导出文件的完整步骤,适合初学者参考。

pandas筛选CSV文件入门教程

这个操作在现在看来可能并不复杂,但在查找相关资料时确实花费了不少时间。

许多技术文章直接指向pandas官方文档,并仅展示基础示例,缺乏针对具体筛选场景的详细指导。

官方文档地址:https://pandas.pydata.org/docs/reference/index.html

导入库与读取文件

第一步,导入pandas库。

import pandas as pd

接着,使用read_csv函数打开目标CSV文件。

df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')

该函数需要指定CSV文件的路径。若文件位于Python工程目录下,直接使用./文件名即可。同时,建议指定encoding='utf-8'以使用UTF-8编码,若文件编码不同,可能需要调整为gbk等其他编码格式。

虽然读取的是CSV文件,但由于使用了pandas库,实际获取的数据结构是一个DataFrame。

可以通过执行print(type(df))来验证数据类型。

print(type(df))

DataFrame是一种表格型数据结构,可以将其视为电子表格。它以表格形式展示数据,并包含行标签和列标签。

可以通过pandas.DataFrame.columns属性来添加或修改列标签。

在示例中,DataFrame变量名为df,因此使用df.columns进行设置。我们将列标签依次设置为a、b、c、d、e、f。

df.columns = ['a','b','c','d','e','f']

执行数据筛选与保存

接下来,目标是从某一列中提取等于特定值的所有行。

可以将读取的内容视为列表,其中每个元素代表表中一行数据,而每一行本身也是一个列表结构。

例如,若要提取第5列中值为'Andhra Pradesh'的行,且已知第5列的标签为'e'。

对应的代码实现如下。

data = df[df['e'] == 'Andhra Pradesh']

最后,利用pandas库中的to_csv方法,将筛选后的数据保存至新的CSV文件。

data.to_csv('my_IP2LOCATION.csv')

调用格式为:表名.to_csv('保存路径/新文件名.csv')。

以下是完整代码的总结。


import pandas as pd

df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')
# print(type(df))
df.columns = ['a','b','c','d','e','f']
data = df[df['e'] == 'Andhra Pradesh']
data.to_csv('my_IP2LOCATION.csv')

原始文件IP2LOCATION.csv的内容结构如下。

该文件总共有759727行数据。

经过筛选处理后,生成的文件my_IP2LOCATION.csv。

筛选后的结果仅包含3461行。

提示:可以使用print(len(df.values))来查看当前DataFrame的行数。

以上即为本文的全部内容,希望对您的学习有所帮助,欢迎继续支持本站。

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

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 算法库。