2016-05-31 2 views
0

У меня есть этот список данных, поступающих из программы анализа FE. Моя проблема в том, что функция в программах FE, которая пишет данные, делает это, помещая всю информацию в одну строку. Я заканчиваю «списком» длины 1 с 10 000 записей в одной строке. Я хотел бы иметь возможность вводить какой-то «ввод» между каждой из данных в списке. Каждая информация имеет одинаковую длину (# ofcaracter). Список выходит что-то вроде этого: 4.81941e-010 4.89941e-010 3.81941e-010 1.81341e-010 ... и т.д. (на той же строке) я хотел бы сделать что-то вроде:TcL - Редактирование списка

for {set i 1} {$i<=$length in list} {incr i 1} { 
count 12 caracter then do a enter 
} 

Спасибо за помощь!

+0

Если список походит на то, что у вас есть p как его «длина» 1? – nwk

ответ

3

Как насчет

join $list \n 

?

Это связано с тем, что между числами существует пробельный символ, а это означает, что строка также является списком из 10000 элементов.

В противном случае, вы можете поместить подстроки в список, как это:

set list {} 
for {set i 0} {$i < [string length $str]} {incr i 13} { 
    lappend list [string trimright [string range $str $i $i+12]] 
} 

Документация: for, incr, join, lappend, set, string

0

В дополнение к ответу Петра, вы можете выбрать замените место новой строкой:

set list [string map {" " "\n"} $list] 
+0

Это выглядит очень приятно благодаря идее! :) – John

Смежные вопросы