📜  在 python 中从 csv 读取特定行(1)

📅  最后修改于: 2023-12-03 15:23:15.864000             🧑  作者: Mango

在 Python 中从 CSV 读取特定行

CSV(Comma Separated Values)是一种常见的文件格式,在数据分析、机器学习等领域中被广泛使用。Python 中提供了多种方法来读取 CSV 文件中的数据,本文将介绍如何从 CSV 文件中读取特定行的数据。

读取整个 CSV 文件

首先,我们先介绍如何将整个 CSV 文件读取到 Python 中。Python 标准库中的 csv 模块提供了多个函数来读取 CSV 文件。其中,csv.reader() 函数可以逐行读取 CSV 文件中的数据,并返回一个迭代器。

下面是一个示例代码,读取了一个名为 data.csv 的 CSV 文件并打印了其中的所有数据。

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

注意,上述代码中 csv.reader() 的第二个参数是 'r',表示以只读模式打开文件。

读取特定行

如果我们只需要读取 CSV 文件中的特定行,可以使用 csv.reader() 函数结合 Python 的索引操作来实现。例如,如果我们只需要读取第 3 行数据,可以使用以下代码:

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    rows = list(reader)
    row = rows[2]   # 注意索引从 0 开始
    print(row)

上述代码中,我们首先将 csv.reader() 返回的迭代器转换成一个列表(rows),然后使用 Python 的索引操作读取指定行的数据。

读取符合特定条件的行

如果我们想要读取符合特定条件的行,可以在读取 CSV 文件时加入条件判断。下面是一个示例代码,仅读取其中第一列为 'A' 的行。

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        if row[0] == 'A':
            print(row)

上述代码中,我们在读取 CSV 文件时逐行判断第一列是否为 'A',如果是则打印整行数据。注意,CSV 文件中的数据是以字符串形式存储的,因此在比较时需要将其转换成相应的类型。