2012-02-15 2 views
1

Я пишу решение в MATLAB, но я использую Python для синтаксического анализа текстового файла - Python определенно не является моей сильной стороной. В принципе, я сумел разобрать мой текстовый файл для соответствующих строк и хотели бы они экспортируются как табуляцией текстовый файл в следующем формате:Python: добавление к массиву

num1 num2 num3 num4 num5 
num1 num2 num3 num4 num5 
num1 num2 num3 num4 num5 
num1 num2 num3 num4 num5 

Однако, в настоящее время, мой выходной файл выглядит следующим образом:

[num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5] 

Мой код выглядит следующим образом:

for <blah blah> 
    num3,num1,num2,num4,num5 = data 
    outputData.append(data) 
outfile.write("%s"%(outputData)) 

Как изменить переменные и иметь их выход в хороший структурированный массив?

ответ

3

Попробуйте следующее:

for <blah blah> 
    num3,num1,num2,num4,num5 = data 
    outputData.append('\t'.join(map(str, [num1, num2, num3, num4, num5]))) 

outfile.write('\n'.join(outputData)) 

Код '\t'.join(map(str, [num1, num2, num3, num4, num5])) приведет табуляцией строки с данными в правильном порядке, поэтому outputData будет список этих строк. Затем '\n'.join(outputData) объединит все строки из outputData с новой линией, разделяющей каждую строку, что и вы хотите записать в файл.

В качестве альтернативы вы можете избавиться от outputData целиком и сделать что-то вроде этого:

for <blah blah> 
    num3,num1,num2,num4,num5 = data 
    outfile.write('\t'.join(map(str, [num1, num2, num3, num4, num5])) + '\n') 
+0

мой «num1», «num2» и т.д., поплавки и удваивается. Как мне заставить их преобразовать в строки? (Я предполагаю, что это то, что мне нужно сделать, когда я получаю сообщение об ошибке «ожидаемая строка, float found») – CaptainProg

+0

@CaptainProg - 'map (str, [num1, num2, num3, num4, num5])' превратит список плавает в список строк, я отредактировал свой ответ, чтобы добавить это. –

+1

Понял, да, очень спасибо за это. Python кажется удобным языком, чтобы знать – CaptainProg