将dat文件转换为数组

时间:2016-09-03 10:40:05

标签: python

我的dat文件包含以下格式的数据:

0.23548 0.34938 0.54311 0.20902 0.52414 0.323418 1

对于每个观察并由每条线分开。如何将其转换为数组,前6个变量为X' s,最后一个变量为Y?

再次感谢你!

1 个答案:

答案 0 :(得分:0)

问题有点不清楚,但无论如何我都会尝试回答。

如果输入文件具有以下结构(没有第1行和第3行):

X1      X2      X3      X4      X5      X6       Y(1-6)
0.23548 0.34938 0.54311 0.20902 0.52414 0.323418 1
X7      X8      X9      X10     X11     X12      Y(7-12)
0.23548 0.34938 0.54311 0.20902 0.52414 0.323418 1

然后以下代码应该工作。 它返回一个元组列表(Xn,Yn)。

points = []
for line in open("file.dat", "r").readlines():
    fields = map(float, line.split())
    xs, y = fields[:-1], fields[-1]
    for x in xs:
        points.append( (x,y) )

print points