使用python将内容表解析为csv文件

时间:2015-12-01 10:37:18

标签: python regex parsing csv

我从一本书的内容表的ocr扫描中得到了几个html文件。 我的目标是解析它们,提取一些数据并最终将数据存储在csv文件中。 数据的结构类似于:

Location_1 - id.

Name_1 - year_1 - case_1, case_2, case_3 ...
       - year_2 - case_1, case_2, case_3 ...

Name_2 - year_1 - case_1, case_2, case_3 ...

Name_3 - year_1 - case_1, case_2, ...
       - year_2 - case_1, case_2, ...
       - year_3 - num1, num2, ...

文件不规则,因此我不能依赖换行符或html标签来拆分内容。

到目前为止,我采用了自上而下的方法:

1)使用正则表达式检索位置和id 2)使用位置作为索引以较小的块分割文本以获取名称(带有函数) 3)用另一个正则表达式检索名称。 4)使用zip函数创建一个地方列表,id.s,名称

此时我感到困惑,并且无法获得一个合适的解决方案来获得包含内部节点(年份和案例编号)的分层排序结构。

阅读周围似乎正则表达式不是这种解析的最佳工具,最好使用语法,但我找不到“真实世界的例子”。

所以我的问题是:哪个是解析目录保持层次结构顺序的最佳解决方案,并且能够从中构建csv文件(csv文件每行应该有一个案例)?

编辑:

这是文本的摘录

  

Hulskov,Eltang s。,Brusk h。(1)。 - H,36。

     

Jes Nielsen,1636:131。

     

Kirsten Hansdatter,1636:131。

     

Hulvig,Hodde s。,ØsterHomeh。 - H,37。

     

Christen Hansen Smed,1637:569,571,580,625,808,1638:21,128。

粗体部分是位置,它们始终位于行的开头,后跟char +数字代码。在其他方面(斜体),有一个(或更多)年份的名称,然后是冒号后面的一些案例数字。

这是核心结构,尽管在本文的其余部分有几处不合规定。

我可以提取大部分位置名称,字符+数字代码和名称,我可以将它们设置在一个拉链列表中,以便保留分层次序,但我找不到一个合适的解决方案来绑定年份和案例每个名字。

0 个答案:

没有答案