np.savetxt 格式 - 如何消除 '","" 和 '('?



感谢您对我最后一个问题的帮助。

我还有一个额外的问题,实际上是非常基本的:

使用以下代码:

import numpy as np
data = np.loadtxt('coord.xyz',dtype={'names':('id', 'type','x','y','z'),
'formats': ('i4','i4','f4','f4','f4')})
f_h = file('sorted1.dat','a')   
m = sorted(data, key=lambda data_entry: int(data_entry[0]))    
np.savetxt(f_h, m, fmt='%s', delimiter='    ')    
f_h.close()

可以对文件"coord.xyz",并将其保存在文件"sorted1.dat"中。数据是这样的

(1,1,-0.8835089802742004,1.1118659973144531,2.8823349475860596)

(2,2,-0.558292299509048461.20824301242828371.566588044166565)

(3,3,-0.4945560097694397,0.02859400026500225,0.7631300091743469)

(4,1,-0.7490050196647644,-1.2098779678344727.3580570220947266)

(5,4,-0.30354899168014526,0.24225300550460815,-0.102440237998962)

(6,1,-1.0057859420776367,-1.27848601134124756,2.719391107559204)

(7,5,-1.128898024559021,-0.088123999553603745,3.508042097091675)

(8,1,-1.243878960609436,-0.2172279953956604,5.247914791107178)

(9,1,-1.3797849416732788,0.1959020048379898,-1.17550338597107)

(10,1,-0.25306999683380127,-0.2892940044403076,5.424662113189697)

问题是消除'sorted1.dat'中的','s'('s和')'

有人能给我一个简单的解决方案吗?

只是不要指定格式,或者为每列指定一个正确的格式。开始:

import numpy as np
data = np.loadtxt('coord.xyz', dtype={'names':('id', 'type','x','y','z'),
'formats': ('i4','i4','f4','f4','f4')})
m = data.copy()
m.sort()
with open('sorted1.dat', 'a') as f_h:
np.savetxt(f_h, m, delimiter='    ')    

要使整数正确显示,使浮点使用简单的十进制表示法,请使用fmt,它是一系列格式:

np.savetxt(f_h, m, delimiter='    ', fmt=['%i']*2 + ['%f']*3)

最新更新