我有大量的大型html表(大约1000个)需要编辑某些单元格或行。编辑本身对于所有必需的表都是相同的,因此可以轻松实现自动化。所以我一直在寻找一种方法来实现perl。我发现html :: TableExtract对于从表中获取数据非常有用,但我找不到编辑它们并将它们放回html的方法。如果有人用一些示例代码帮助我,我将不胜感激。
编辑:我尝试解析的文件就像http://pastehtml.com/view/bsyxg5y2t.html 我需要根据第一列的值编辑一些单元格或删除整行。
我尝试使用HTML :: TableExtract,但现在遇到了一个名为:
的错误“不能在C:/ strawberry / perl / site / lib / HTML / ElementTable .pm第431行祝福非参考值。”
代码如下
use strict;
use warnings;
use HTML::TableExtract 'tree';
use YAML;
print "starting \n";
my @headers = (qw(mRNA Chromosome));
$te = HTML::TableExtract->new(slice_columns=> 1,
keep_html => 0,
headers => \@headers );
$te->parse_file('hsa-let-7a-2-3p-3.html');
foreach my $ts ($te->tables) {
print "======= Table (", join(',', $ts->coords), ") =======\n";
print join("\t", @headers), "\n";
foreach my $row ($ts->rows) {
print join(',', @$row), "\n";
}
}
注意:如果我改成它,它的工作原理, 使用HTML :: TableExtract 更改一个单元格我试过这个但是在使用树时遇到了同样的错误
$table_tree = $ts->tree;
$table_tree->cell(2,2)->replace_content('change here');
$table_html = $table_tree->as_HTML;
$table_text = $table_tree->as_text;
$document_tree = $te->tree;
$document_html = $document_tree->as_HTML;
print $document_html;
答案 0 :(得分:0)
您是否尝试过修改内容并在之后使用$table->tree->as_HTML
?