我们如何使用 perl 将数据格式化为表格格式

Posted

技术标签:

【中文标题】我们如何使用 perl 将数据格式化为表格格式【英文标题】:How can we format the data into table format using perl 【发布时间】:2014-11-08 14:39:53 【问题描述】:

我已经编写了一个omnimark程序来获取输出文件中所需的标签。但是我对这个输出数据的格式有疑问。那么我应该怎么做才能使用perl将下面的输出数据转换成表格格式。

Omnimark 程序的输出 - Perl 程序的输入:

2.01[1] <hst u="61130263" c="" r="" st="">
<title>Holmes v. Cheney
<dkt>5-2652
<dte>19620000
<ct>Ark
<refs>234 Ark 503, 352 SW2d 943
</hst>  9 

预期:

 2.01[1]    <hst u="61130263" c="" r="" st="">              9
            <title>Holmes v. Cheney
            <dkt>5-2652
            <dte>19620000
            <ct>Ark
            <refs>234 Ark 503, 352 SW2d 943
            </hst>  

【问题讨论】:

【参考方案1】:

也许用Text::Table:

use strict;
use warnings;

use Text::Table;

my $data = [
    "2.01[1]",
    qq<hst u="61130263" c="" r="" st="">\n<title>Holmes v. Cheney\n<dkt>5-2652\n<dte>19620000\n<ct>Ark\n<refs>234 Ark 503, 352 SW2d 943\n</hst>,
    9,
];

my $tb = Text::Table->new();
$tb->load($data);
print $tb;

输出:

2.01[1] <hst u="61130263" c="" r="" st=""> 9
        <title>Holmes v. Cheney             
        <dkt>5-2652                         
        <dte>19620000                       
        <ct>Ark                             
        <refs>234 Ark 503, 352 SW2d 943     
        </hst>                              

【讨论】:

Miller :所以如果输出包含很多这样的内容,那么你能告诉我如何做到这一点。 .. 非常感谢您的帮助... @Praveen 您需要编写一个小解析器,将您的输入分为第一列、正文主体和最后一位数字。然后,您可以将该数据传递到 Text::Table 进行格式化。

以上是关于我们如何使用 perl 将数据格式化为表格格式的主要内容,如果未能解决你的问题,请参考以下文章

如何在新的 Google 表格中将持续时间格式化为 HH:mm

如何使用 PHPExcel 将百分比数字格式化为 Excel 百分比?

如何通过 NSDate 输入对表格视图进行排序(格式化为 MMM yyyy)

将文本格式化为数字的 SQLplus 脚本

如何使用 javascript/jquery 将数字格式化为印度货币(在数据表中)

如何从 Perl 创建或读取 OpenOffice 电子表格?