如何用NumPy读取CSV文件

  • Post category:Python

当我们需要从CSV文件中读取数据时,使用Python中NumPy的loadtxt函数非常方便。下面是使用NumPy读取CSV文件的步骤:

步骤1: 导入NumPy模块

在使用NumPy的函数之前,我们需要导入NumPy模块。 在Python程序中,可以使用以下行来导入NumPy模块。

import numpy as np

步骤2: 读取CSV文件

使用NumPy的loadtxt函数可以读取CSV文件中的数据,以下是loadtxt函数的基本语法:

np.loadtxt(fname, dtype, delimiter)

其中,

  • fname:包含CSV数据的文件名,可以是相对路径或绝对路径。 如果文件与程序在同一文件夹中,则可以只使用文件名。 默认情况下,CSV文件必须以ASCII文本格式保存。
  • dtype:数据的类型。 可以是float,int等。
  • delimiter:指定CSV文件中用于分隔字段的字符。 默认情况下,delimiter是空格。
    要使用loadtxt函数从CSV文件中读取数据,可以将CSV文件名作为参数传递给loadtxt函数。
data = np.loadtxt('data.csv', delimiter=',')

上述代码将读取名为data.csv的文件,并使用逗号作为分隔符。 读取的数据将存储在名为data的数组中。

示例1:

如果我们有一个名为data.csv的CSV文件,在其中包含以下数据:

2.3,3.4,4.5,5.6
1.2,1.3,1.4,1.5
4.6,4.7,4.8,4.9

我们可以使用以下代码读取此文件:

import numpy as np

data = np.loadtxt('data.csv', delimiter=',')

print("Data:")
print(data)

上述代码将读取名为data.csv的文件,并使用逗号作为分隔符。 读取的数据将存储在名为data的数组中。 输出如下:

Data:
[[2.3 3.4 4.5 5.6]
 [1.2 1.3 1.4 1.5]
 [4.6 4.7 4.8 4.9]]

示例2:

如果CSV文件具有标题,我们可以使用以下代码将其读取为numpy数组:

import numpy as np

data = np.genfromtxt('data.csv', delimiter=',', names=True)

print("Data:")
print(data)

上述代码将读取名为data.csv的文件,并使用逗号作为分隔符。 第一行被视为标题,并将用作数组中的字段名。 输出如下:

Data:
[(2.3, 3.4, 4.5, 5.6) (1.2, 1.3, 1.4, 1.5) (4.6, 4.7, 4.8, 4.9)]

我们可以通过字段名来访问数据,如:

print("col1:")
print(data['col1'])

输出结果如下:

col1:
[2.3 1.2 4.6]

这就是使用NumPy读取CSV文件的完整攻略。