【发布时间】:2019-10-24 15:01:39
【问题描述】:
我有一个文件要读取,然后从该文件中提取一些值并重新分配这些值以编写一个可读的 ascii 文件。关键是我找不到以正确方式编写值的方法。
我使用的文件是由 tecplot 生成的 ascii 文件。最后,我想生成带有一些标题和变量描述的文件。
到目前为止,我尝试了不同的策略,但我只生成了具有两个值的单个数组,而不是“正确的”矩阵。此外,我并没有按照自己的意愿编写每个元素,我的意思是将循环中逐步分配的元素保存在内存中。
代码如下:
f=open('profile_1D.dat', 'r')
data = []
outfile = open('outfile.dat','w+')
for line in f:
line = line.split()
data.append(line)
data=np.array(data)
arg=(data[43:])
newarr=np.zeros((len(arg),2))
for lists in arg:
newarray=np.array((lists[2],lists[34]))
newarray.astype(float)
print newarray
print newarray.shape
`
这样我显然只得到了“数组”的最后一行。
['6.17926421404682' '1.59400321081525E-11']
它的形状是(2,)。
我想要一个像这样填充的 (300,2) 数组:
['5.53645484949833' '1.86479953164333E-11']
['5.55719063545151' '1.8377081954255E-11']
['5.57792642140468' '1.81061685920767E-11']
['5.59866220735786' '1.78352552298984E-11']
【问题讨论】:
-
newarr=np.zeros((len(arg),2) 用在哪里?
-
对不起,这是代码中的拼写错误,一切都是新的,所以一致。 newarr=np.zeros((len(arg),2)) newarr = list(newarr) # # 对于 arg 中的列表:newarr.append((lists[2],lists[34]))
标签: python arrays multidimensional-array