没有分隔符时以某种方式拆分行的问题

时间:2019-03-06 19:13:43

标签: python text nlp

我有一个文本文件;

  

...在上面的表5中,我们了解了压力之间的关系   和数量。它说...现在我们知道了...。表9:代表   x和y的图形。表6全部涉及力及其对力的影响   对象...

现在,我已经编写了一个代码来提取其中包含单词表的行;

with open file( <pathname + filename.txt>, 'r+') as f:
   k = f.readlines()
   for line in k:
     if ' Table ' in line:
         print(line)

现在我希望以特定格式打印输出;

  

(txt文件名),(表id),(表内容)

我通过使用python的 .split方法来做到这一点;

x = 'Paper ID:' + filename.split('.')[0] + '|' + 'Table ID:' + line.split(':')[0] + '|' + 'Table Content:' + line.split(':')[1] + '|' 

现在,如您所见,我可以将表id和表内容分开,其中some后面有一个定界符(:)。 在没有分隔符的地方(即这些行),我该怎么做;

  

在表5中,我们了解了压力之间的关系   和数量。它说...现在我们知道了..   要么   在表7中,我们看到了......

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您可以搜索模式Table <number>,然后在该位置拆分。
您可以使用re.split(pattern, string, maxsplit=0, flags=0)re.findall(pattern, string, flags=0)

re.split('Table [0-9]', line)[-1]

将为您提供以下内容(内容)。

re.findall('Table [0-9]', line)

将为您提供带有ID的表格,您可以从中提取表格。

关于re.splitre.findall的Python文档