📜  在读取 csv python 时取前 10 行(1)

📅  最后修改于: 2023-12-03 14:51:33.714000             🧑  作者: Mango

在读取 CSV Python 时取前10行

在数据科学中,数据通常以 CSV(逗号分隔值)格式存储,这是一种常见的文件格式,用于存储表格数据。Python中有一个内置模块csv,它提供了一种从csv文件中读取和写入数据的方法。

有时,当你处理大量的数据并需要测试代码时,读取整个CSV文件可能会耗费很长时间。在这种情况下,你可能只需要读取前几行。本文将介绍如何使用Python从CSV文件中读取前10行数据。

1. 读取CSV文件

首先,我们需要使用Python的csv模块中的方法来读取CSV文件。让我们先创建一个包含样本数据的CSV文件。

import csv

# 创建csv文件
with open('sample.csv', 'w', newline='') as file:
  writer = csv.writer(file)
  writer.writerow(["Name", "Age", "Gender"])
  writer.writerow(["John", "25", "Male"])
  writer.writerow(["Lucy", "28", "Female"])
  writer.writerow(["Kevin", "30", "Male"])
  writer.writerow(["Emma", "27", "Female"])

以上代码将创建一个名为sample.csv的文件,并将以下数据写入文件:

| Name | Age | Gender | | ---- | --- | ------ | | John | 25 | Male | | Lucy | 28 | Female | | Kevin| 30 | Male | | Emma | 27 | Female |

现在我们有了一个CSV文件,让我们开始读取它。

with open('sample.csv', newline='') as file:
  reader = csv.reader(file)
  for row in reader:
    print(row)

以上代码将打开sample.csv文件并使用csv模块的reader()方法将其读入。然后,遍历每一行并将其打印到控制台。该代码的输出如下所示:

['Name', 'Age', 'Gender']
['John', '25', 'Male']
['Lucy', '28', 'Female']
['Kevin', '30', 'Male']
['Emma', '27', 'Female']
2. 读取前10行

既然我们已经知道如何读取整个CSV文件了,现在让我们来看看如何仅读取前10行。在Python中完成该任务的最简单方法是使用itertools模块中的islice()方法。

import itertools

with open('sample.csv', newline='') as file:
  reader = csv.reader(file)
  for row in itertools.islice(reader, 10):
    print(row)

以上代码将使用islice()方法从CSV文件中读取前10行数据,并将其打印到控制台。如果该文件包含不到10行,它将读取整个文件。使用islice()方法与使用常规迭代器一样,但是只读取指定的行数。输出如下所示:

['Name', 'Age', 'Gender']
['John', '25', 'Male']
['Lucy', '28', 'Female']
['Kevin', '30', 'Male']
['Emma', '27', 'Female']

以上就是如何使用Python从CSV文件中读取前10行数据的方法。我们使用csv模块来读取CSV文件,然后使用itertools模块中的islice()方法来仅读取前10行。这个方法在测试代码时非常有用。