ato*_*3ls 1 python file-io newline numpy
假设我有以下numpy结构化数组:
>>> a = numpy.array((1, 2.0, 'buckle_my_shoe'),dtype=('i4,f8,a14'))
array((1, 2.0, 'buckle_my_shoe'),
dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', 'S14')])
Run Code Online (Sandbox Code Playgroud)
我想将它保存到文本文件中的单个空格或制表符分隔的行.如果阵列都是我可以使用的相同类型numpy.savetxt('myfile.dat,myarray,newline=" ").但是,这似乎不像混合数据类型/结构化数组,例如:
file('myfile.dat', 'a')
numpy.savetxt('myfile.dat',a,newline=" ")
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
IndexError: tuple index out of range
Run Code Online (Sandbox Code Playgroud)
任何人都可以推荐一种方法吗?
编辑:无论出于何种原因,我似乎无法单独留下这个答案,所以这里是一个更清洁的版本,不会csv不必要地使用该模块.为了记录,@ askewchan的答案仍然更好!
a = numpy.array([(1, 2.0, 'buckle_my_shoe'),
(3,4.0,'lock_the_door')],dtype=('i4,f8,a14'))
with open('test.txt','w') as f:
f.write(' '.join([str(item) for sublist in a for item in sublist]))
print open('test.txt','r').read()
Run Code Online (Sandbox Code Playgroud)
输出:
1 2.0 buckle_my_shoe 3 4.0 lock_the_door
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4972 次 |
| 最近记录: |