文件data.txt 内容如下
1,4,6
4,6,7
3,2,1
numpy读取文本文件的函数有两个,一个是loadtxt, 一个是genfromtxt
import numpy as np
array_1 = np.loadtxt('data.txt', delimiter=',')
print(array_1)
array_2 = np.genfromtxt('data.txt', delimiter=',')
print(array_2)
这两个函数都能从文本文件中读取数据转化为numpy数组,区别是loadtxt只能处理没有缺失值的情况,而genfromtxt可以处理有缺失值的数据,缺失值会被np.nan填充,比如下面的数据
1,4,6
4,,7
3,2,1
第二行缺失了一个数据,就不能使用loadtxt方法,只能使用genfromtxt,缺失值默认填充np.nan,也可以通过filling_values参数设置填充值,如果不想处理缺失值,可以设置invalid_raise 为True,有缺失值的行就会被跳过。
写文本文件,需要使用savetxt
import numpy as np
# 写入文件
array = np.random.randint(9, size=(3, 3), dtype=np.int32)
np.savetxt('data.txt', array)
array = np.genfromtxt('data.txt', dtype=np.int32)
print(array)
不论是写文本文件还是读文本文件,都可以指定数据的类型。
QQ交流群: 211426309