我每天都会收到包含结构松散的数据的数据馈送。我需要将它导入数据库,这样我就可以运行一个报告来查找新记录和对现有记录的更改。
数据如下所示:
--------------------------------
blah:
foo
bar
lorum: ipsum
dolor: sit
foo: bar
bar: foo
123-555-1212
Lorum / Ipsum / Dolor / Sit
Foo / Bar
--------------------------------
如您所见,有一些字段标题,如“blah”、“lorum”等,但有些数据缺少标题,如电话号码或斜线分隔列表。有些标题在同一行,有些则不在。
只是为了让我们保持警惕,记录没有相同数量的字段。
所以我认为解析需要至少有3种方法来解析数据,比如,
如果 "heading:$" 然后抓取下一行,直到读取下一个 "*.:" 并抓取 "heading: value",如果行以数字开头,则假设标题为 "phone",如果行包含斜杠分隔列表假设标题 "功能”直到“--------...”
但我不知道如何开始编写这样的代码。尽管我必须在 MacOS 中运行代码,但此时该语言是开放的。
我想 perl 可能对此有好处,但是 perl foo 很差。
甚至不知道从哪里开始。