如何在 Python 中读取 CSV 到数组

CSV(Comma-Separated Values,逗号分隔值)是一种常见的文件格式,用于存储和传输表格数据。在 Python 中,可以使用标准库中的 csv 模块来轻松地读取 CSV 文件并将其转换为数组。

以下是如何在 Python 中读取 CSV 到数组的步骤:

  1. 导入 csv 模块

在 Python 代码中,首先需要导入 csv 模块,以便使用其提供的函数。

import csv
  1. 打开 CSV 文件

使用 Python 内置函数 open(),需要传递 CSV 文件的路径(相对或完整路径)及文件访问模式。以只读方式打开文件时,应使用 “r” 模式。同时,需要使用 newline=” 参数,以确保在读取文件时不会出现意外的行分隔符。

with open('example.csv', mode='r', newline='') as csv_file:
    # 数据处理
  1. 读取 CSV 文件

使用 csv 模块的 reader() 方法,将打开的 CSV 文件对象传递给它,以便将文件中的行转换为 Python 的列表,其中每个列表表示一行中的字段。

with open('example.csv', mode='r', newline='') as csv_file:
    csv_reader = csv.reader(csv_file)
    for row in csv_reader:
        # 行的操作

在上面的示例中,使用 for 循环迭代 csv_reader 对象,其中的 row 变量将包含每个行的字段。

  1. 将 CSV 数据转换为数组

将 CSV 文件数据转换为数组的方法有很多。以下示例演示了如何将 CSV 数据转换为 numpy 数组。

首先需要在代码中导入 numpy 模块。然后,使用 genfromtxt() 方法将 CSV 文件作为参数传递给它,并设置 delimiter 参数为逗号,以指示 CSV 文件的值如何分隔。

import numpy as np

with open('example.csv', mode='r', newline='') as csv_file:
    data_array = np.genfromtxt(csv_file, delimiter=',')

注意事项:

  • CSV 文件在使用前必须正确存储。
  • CSV 文件中行末不能带有空格或其他导致错误的字符。
  • 如果 CSV 文件未采用 UTF-8 编码,则需要指定正确的字符编码。
  • CSV 文件中可能包含空字段或未定义值,因此需要有条件地处理这种情况。