首页 > 解决方案 > 如何在python中读取包含numpy.ndarray的txt文件

问题描述

我想知道读取以下test.txt包含以下值的文件的正确语法是什么:

(ps test.txt 的类型为 numpy.ndarray)

[0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.
 0.    0.    0.    0.    0.    0.    0.    0.    0.    0.51  0.47  0.45
 0.42  0.42  0.4   0.385 0.375 0.41  0.415 0.375 0.355 0.36  0.41  0.4
 0.39  0.38  0.375 0.375 0.375 0.38  0.39  0.395 0.385 0.38  0.375 0.375
 0.37  0.365 0.36  0.355 0.35  0.35  0.345 0.345 0.35  0.36  0.355 0.355
 0.35  0.35  0.355 0.355 0.35  0.35  0.35  0.345 0.34  0.335 0.325 0.325
 0.325 0.33  0.345 0.325 0.32  0.315 0.315 0.315 0.31  0.31  0.31  0.305
 0.305 0.3   0.3   0.29  0.29  0.3   0.295 0.29  0.29  0.29  0.29  0.29]

我尝试使用以下代码读取文件:

data_test = np.genfromtxt('test.txt')

但我收到错误按摩说:

ValueError: Some errors were detected !
    Line #43 (got 8 columns instead of 12)

任何有关如何读取这种由空格/列分隔的数据的帮助将不胜感激!

标签: pythontext-filesnumpy-ndarray

解决方案


使用numpy.fromstring

with open('test.txt') as file:
    data = file.read()
data = data.replace('\n', '')
arr = np.fromstring(data[1:-1], sep=' ', dtype=np.float32)

推荐阅读