У меня есть файл CSV:
Name,Week,Planned,Passed
AST,01,5,8
KST,01,9,14
RST,01,76,23
AST,02,12,45
KST,02,5,4
RST,02,13,65
GST,02,76,12
LST,03,12,43
AST,04,54,34
Я читаю из этого файла и заполняю файл HTML с помощью Perl, основываясь на информации в CSV:
while (!eof(FH)) { //while csv file is opened
my $line = <FH>;
chomp $line;
my($name,$week,$planned,$passed) = split(",", $line);
$currentHash{$name}{"week"} = $week;
$currentHash{$name}{"week"} = $planned;
$currentHash{$name}{"week"} = $passed;
$datafile = area/${week}/test.html
open my $fh, ">", $datafile;
if ($week != "Week") {
push @weekArray, qq( <td aligh=center bgcolor=#FFFFF font size='2'>$name</td>\n);
push @weekArray, qq( <td aligh=center bgcolor=#FFFFF font size='2'>$week</td>\n);
push @weekArray, qq( <td aligh=center bgcolor=#FFFFF font size='2'>$planned</td>\n);
push @weekArray, qq( <td aligh=center bgcolor=#FFFFF font size='2'>$passed</td>\n);
} //end of if
print $fh @weekArray;
close $fh
} //end of while
Этот код успешно создает таблицу с информацией о файле CSV. Тем не менее, он не создает таблицу, которая создает символ новой строки после нового week
.
Мне трудно понять, как определить, когда начинается новая неделя, потому что она внутри цикла.
Когда я читаю файл, я хочу ставить символ новой строки каждый раз, когда меняется номер недели. Мне также нужно сделать это без жесткого кодирования для конкретной недели, потому что номер недели является произвольным.
Как я хочу, чтобы таблица выглядела так:
Name,Week,Planned,Passed
AST,01,5,8
KST,01,9,14
RST,01,76,23
AST,02,12,45
KST,02,5,4
RST,02,13,65
GST,02,76,12
LST,03,12,43
AST,04,54,34