【发布时间】:2017-10-17 01:38:31
【问题描述】:
您好,我是 python 新手,我有一个文本文件 .txt,其结构如下:
Text1 31332.22342
Text2 293023.32323
Text3 32332.32323
将这些数字放入数组的最简单方法是什么?干杯!
【问题讨论】:
标签: python arrays python-2.7 file
您好,我是 python 新手,我有一个文本文件 .txt,其结构如下:
Text1 31332.22342
Text2 293023.32323
Text3 32332.32323
将这些数字放入数组的最简单方法是什么?干杯!
【问题讨论】:
标签: python arrays python-2.7 file
您可以读取文件并将其拆分为列表,然后遍历列表并尝试转换为浮点数,如果成功则将其添加到浮点数列表中。像下面这样:
with open('file.txt', 'r') as f:
data = f.read().split()
floats = []
for elem in data:
try:
floats.append(float(elem))
except ValueError:
pass
print floats
输出:
[31332.22342, 293023.32323, 32332.32323]
【讨论】:
ValueError,因为当float() 失败时这是预期的。现在所有其他错误也会被忽略。
ValueError 而不是一般的 except
您也可以使用numpy genfromtxt 函数。像这样:
text_file.txt
Text1 31332.22342
Text2 293023.32323
Text3 32332.32323
python 外壳
>>> import numpy as np
>>> numbers = np.genfromtxt('text_file.txt', usecols=1 )
输出
[ 31332.22342 293023.32323 32332.32323]
【讨论】:
要对您的数据类型进行属性验证,请尝试以下操作:
import numpy as np
data = np.genfromtxt("test.txt", usecols=1, dtype=float)
输出:
[ 31332.22342 293023.32323 32332.32323]
【讨论】: