我有要转移到Excel的Microsoft文档。每个句子都需要分开,然后粘贴到excel中的下一个适当的单元格中。这些句子也需要作为标题,要求或信息进行分析。 我将重新创建典型的单词格式
2.3.4 Lightening Transient Response
The device shall meet spec 24532. Voltage must resemble figure.
Figure 1.
转换为
<numbering> <Heading>
<Requirements/information>
在excel中,除了第二个要求句子之外,几乎就是我要查看的文件应该在前一个要求句子的正下方。
2.3.4 | Lightening Transient Response | Heading
| The device shall meet spec 24532. | Requirement
|Voltage must resemble figure | Requirement
|figure 1 | Informational
我使用openxl和docx模块使用python尝试了这个项目。我有代码可以进入单词并获得句子,然后代码可以分析句子。我从段落中检索运行。我遇到了问题,因为并非所有句子都会因为word文档的格式化而返回。我通常只回头。标题号不存储在运行中。标题下的要求存储在表格中。我已经编写了一些代码来进入表格,从单元格中提取文本,这是获得要求的一种方法,但代码片段给出了问题(连续三次给我相同的句子)。
我正在寻找其他可能的方法来做到这一点。我正在考虑格式转换。已经提到了XML,然后pdf和pythons pdf模块也是可能的。
非常感谢任何想法或建议。
-Chris
答案 0 :(得分:0)
XML将变得更难,而不是更容易。你比想象的更近。我建议单独攻击每个问题,直到你破解它为止。
表中三次问题的句子是因为合并的单元格。 python-docx对表的工作方式,有x行和y列的基础表布局。如果合并了两个并排单元格,则两个单元格的结果相同。您可以检测到这是比较两个单元格是否相等。大概就像“if this_cell == last_cell跳过这个单元格”。
无法绕过标题问题。标题号仅存在于正在运行的Word实例中;它们是在显示(或打印)时生成的。要获得那些你需要使用相同的规则来生成自己的数字。因此,您需要跟踪您通过的标题数量等,并形成您自己的点分隔编号。
答案 1 :(得分:0)
为什么要使用Python呢?只需使用VBA,因为您正在使用Excel和Word。
这样的事情应该让你非常接近你想要的地方。可能需要一些调整......
ImageView
因此,请复制Word文档中的文本,该文档应该是开放且有效的,并且您很高兴。还有其他方法可以做到这一点。