Определите пустую строку в текстовом файле и переберите этот список в tcl - PullRequest
0 голосов
/ 08 июля 2019

У меня есть файл со следующими данными

A 1 2 3 
B 2 2 2

c 2 4 5

d 4 5 6

Из приведенного выше файла я хочу выполнить цикл, подобный

три итерации, где первая итерация будет иметь элементы A, B, 2-я итерация с элементами c и 3-я с d. так что моя HTML таблица будет выглядеть как

Week1    |  week2    |   week3
----------------------------
A 1 2 3  |  c 2 4 5 | d 4 5 6
B 2 2 2

Я нашел это в SO перехватывать несколько пустых строк в файле в tcl , но я не получаю именно то, что мне нужно.

1 Ответ

1 голос
/ 08 июля 2019

Я бы предложил использовать массивы:

# Counter
set week 1
# Create file channel
set file [open filename.txt r]

# Read file contents line by line and store the line in the varialbe called $line
while {[gets $file line] != -1} {
    if {$line != ""} {
        # if line not empty, add line to current array with counter $week
        lappend Week($week) $line
    } else {
        # else, increment week number
        incr week
    }
}
# close file channel
close $file
# print Week array
parray Week

# Week(1) = {A 1 2 3} {B 2 2 2}
# Week(2) = {c 2 4 5}
# Week(3) = {d 4 5 6}

ideone demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...