我提供了一个文本文件,其中包含许多固定宽度的表以及不属于任何表的附带文本。说我的文件如下所示:
以下是固定宽度表。本段包含下表中结果的一些描述或摘要。
[在此插入固定宽度表]
这是描述第二个固定宽度表中的内容的第二段。
[在此插入第二个固定宽度表]
这是描述第三张表的第三段。
[第三张表格]
...
理想情况下,我想将此文本文件解析为类似于元组列表的内容,其中每个元组都包含表的描述作为其第一个元素(因此字符串如"这是第三段描述的第三个表。"),以及一个包含实际表数据作为第二个元素的pandas数据框。
现在我已经知道pandas包有一个read_fwf,它可以智能地将固定宽度的文本解析成数据帧。但是,在我可以调用read_fwf之前,我必须首先将固定宽度表的内容与文本的其余部分分开。有什么方法可以让我轻松地使用python来确定我的固定宽度表的开始位置和结束位置?
描述表格的文字段落有许多不同的形式,所以我不能轻易地"将某些行标记为段落行而不是基于它们包含的单词表格行。此外,每个表和描述下一个表的文本的开头之间没有额外的换行符,因此我不能使用空行的存在来确定表结束的位置。相反,我必须实际查看文本的内容,看看文本是否是"固定宽度"。 (我想我可以找到彼此相邻的两个或多个空格的存在,以确定一条线是否可能是固定宽度,但这似乎是一个不完美的解决方案,因为纯文本可能包含两个或更多后续空格)。