我有一个
的文本文件1.25e5 15
2.7e6 12
18.e5 14
我想将文本读作2d数组,并将第一列指定为x,将第二列指定为y。
任何人都可以帮助我,我该怎么做。我做了
f = open('energy.txt', 'r')
x = f.readlines()
但我不知道如何创建第一列。
答案 0 :(得分:1)
由于你没有numpy,你可以使用np.loadtxt
:
In [270]: np.loadtxt('energy.txt')
Out[270]:
array([[ 1.25000000e+05, 1.50000000e+01],
[ 2.70000000e+06, 1.20000000e+01],
[ 1.80000000e+06, 1.40000000e+01]])
或者,python的方法是:
In [277]: data = []
In [278]: with open('energy.txt') as f:
...: for line in f:
...: i, j = line.split()
...: data.append([float(i), int(j)])
...:
In [279]: data
Out[279]: [[125000.0, 15], [2700000.0, 12], [1800000.0, 14]]
使用这种方法,您可以将数据存储为列表列表,而不是多个浮动数组。此外,您还需要添加一个尝试 - 除非您的文件中有任何异常行。