0

我开始学习 Perl 语言,因为它对我的研究非常有用。我不知道如何从文本文件中提取表格

我有一个文件夹,其中包含一定数量的按顺序命名的文本文件,如下所示:

1.txt
2.txt
3.txt
...
...
1000.txt

这些 .txt 格式文件的示例可在以下链接中找到: http ://www.sec.gov/Archives/edgar/data/1750/000104746909008102/0001047469-09-008102.txt

同一文件的 .htm 版本可在以下链接中找到: http ://www.sec.gov/Archives/edgar/data/1750/000104746909008102/a2194264zdef14a.htm

现在,有时会调用我在这些文件中查找的表:

Non-Qualified Deferred Compensation Table

其他一些有小的变化,如:

Non Qualified Deferred Compensation Table

基本上这个表在标题中有这些词(有时它们可​​能因文件而略有不同):

  • “贡献”
  • “总收益”
  • “总提款/分配”

和其他标题(从文件到文件略有不同,但这些词几乎出现在我的每个 .txt 文件的每个“延迟补偿表”中(查看 .htm 文件的链接和 .txt 文件的链接一个例子——在文件中搜索“不合格的递延补偿表”)。在这些标题下,有一定数量的经理的一些金额(表格行数因文件而异)。

有没有办法创建一个 perl 脚本,从每个文件中提取延迟补偿表并生成一个 .csv 输出,其中存储了所有延迟补偿表(下面的标题和数字)以及每个表对 .txt 文件的引用?

输出文件中的内容如下:

File    Manager Name    Contributions   Aggregate Earnings  Aggregate Withdrawal/Distributions
1.txt   Manager1    00000   00000   00000
1.txt   Manager2    00000   00000   00000
1.txt   Manager3    00000   00000   00000
2.txt   Manager1    00000   00000   00000
2.txt   Manager2    00000   00000   00000
2.txt   Manager3    00000   00000   00000
3.txt   Manager1    00000   00000   00000
3.txt   Manager2    00000   00000   00000
3.txt   Manager3    00000   00000   00000

如果您能帮助我解决这个问题,我将不胜感激。我是新手,我正在尝试学习 Perl,但老实说,这个特定的任务对我来说似乎非常困难。

4

1 回答 1

1

Perl 可以轻松实现这一点。

你应该看看这个 Perl 模块:

您会在这里http://google.com上找到大量示例

于 2012-11-02T00:52:04.313 回答