我有一个只有一列的数据文件。我想在左边添加2列,在右边添加2列。
我认为这样做的一个简单方法就是使用numpy数组,这就是我尝试的方法:
z = np.loadtxt('data_file.dat')
new = np.zeros((z.shape[0],5))
for i in range(z.shape[0]):
new[i,0] = 'w040_0731.QR'
new[i,1] = 1666.000
new[i,2] = z[i]
new[i,3] = 0.10000
new[i,4] = 7
z.close()
但它不起作用 - 我认为因为numpy数组不是设计成混合数字和字符串?我收到了错误消息:
could not convert string to float: w040_0731.QR
有人可以建议一种最有效的方法,在我的文本文件的左侧和右侧添加2列吗?
答案 0 :(得分:4)
这应该这样做,假设您的列是空格分隔的,但它不使用numpy
:
with open('data_file.dat') as in_file, open('output', 'w') as out_file:
for line in in_file:
data = float(line.strip())
print >> outfile "'w040_0731.QR'", '1666.000', data, '0.10000', '7'