3

我有一个只有一列的数据文件。我想在左侧添加 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 列和在右侧添加 2 列的最有效方法吗?

4

1 回答 1

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' 
于 2012-11-21T12:48:26.810 回答