我对python有一些疑问,
我正在尝试写一些东西,在每次原始输入之后,我应该输入一些数据(使用数组形式)。然后,应将此数据(数组2 dimensioanl)添加到另一个2 D数组Full of 0。然后当我输入第二个数据(它应该再次更改为2 D数组)并且必须添加到已包含具有零和来自输入的数组的数组的数组中。因此,在每次输入之后,应该添加已经创建的数组。这是代码。
from numpy import *
var=zeros(shape=(1,11)) #making 2D array with zeros
while True:
file=raw_input("write data file name or path")
c=open(file, 'r')
ArrayStr=loadtxt(c, dtype='S',) #making array
var=vstack((ArrayStr, var)) # concatantaing array
print var
所以最后我得到了数组,它只有2个数组连接(带有零的数组和最后输入的数据数组)
感谢您的关注和帮助
答案 0 :(得分:0)
工作代码
的 in1.txt 强> 的
ATOM
1
C1
POS
X
1
16.774
117.860
10.374
1.00
0.00
的 in2.txt 强> 的
ATOM
2
C2
POS
X
2
18.774
17.860
30.374
2.00
0.00
<强>代码强>
import numpy
zeros = numpy.zeros(shape=(1,11)) #making 2D array with zeros
var = None
for i in range(1, 3):
i1 = open("in" + str(i) + ".txt")
a = numpy.loadtxt(i1, dtype='S')
if var is None:
var = numpy.vstack((a, zeros))
else:
var = numpy.vstack((var, a, zeros))
print var
<强>输出强>
>>>
[['ATOM' '1' 'C1' 'POS' 'X' '1' '16.774' '117.860' '10.374' '1.00' '0.00']
['0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0']
['ATOM' '2' 'C2' 'POS' 'X' '2' '18.774' '17.860' '30.374' '2.00' '0.00']
['0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0' '0.0']]
>>>