добавление столбцов в текстовый файл

python numpy

6540 просмотра

1 ответ

У меня есть файл данных, который только один столбец. Я хочу добавить 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 столбца справа от текстового файла, который у меня есть?

Автор: user1551817 Источник Размещён: 12.11.2019 09:10

Ответы (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' 
Автор: Hans Then Размещён: 21.11.2012 12:48
Вопросы из категории :
32x32