首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python解析来自多个txt文件文本

Python解析来自多个txt文件文本
EN

Stack Overflow用户
提问于 2017-04-25 04:00:52
回答 2查看 2.5K关注 0票数 15

寻求有关如何从多个文本文件中挖掘项目以构建字典的建议。

此文本文件:https://pastebin.com/Npcp3HCM

被手动转换为所需的数据结构:https://drive.google.com/file/d/0B2AJ7rliSQubV0J2Z0d0eXF3bW8/view

有数千个这样的文本文件,它们可能具有不同的部分标题,如以下示例所示:

  1. https://pastebin.com/wWSPGaLX
  2. https://pastebin.com/9Up4RWHu

我从阅读文件开始

from glob import glob

txtPth = '../tr-txt/*.txt'
txtFiles = glob(txtPth)

with open(txtFiles[0],'r') as tf:
    allLines = [line.rstrip() for line in tf]

sectionHeading = ['Corporate Participants',
                  'Conference Call Participiants',
                  'Presentation',
                  'Questions and Answers']

for lineNum, line in enumerate(allLines):
    if line in sectionHeading:
        print(lineNum,allLines[lineNum])

我的想法是查找存在部分标题的行号,并尝试提取这些行号之间的内容,然后去掉像破折号这样的分隔符。这不起作用,我被困在试图创建一种字典,这样我以后就可以在采石项目上运行各种自然语言处理算法。

{file-name1:{
    {date-time:[string]},
    {corporate-name:[string]},
    {corporate-participants:[name1,name2,name3]},
    {call-participants:[name4,name5]},
    {section-headings:{
        {heading1:[
            {name1:[speechOrderNum, text-content]},
            {name2:[speechOrderNum, text-content]},
            {name3:[speechOrderNum, text-content]}],
        {heading2:[
            {name1:[speechOrderNum, text-content]},
            {name2:[speechOrderNum, text-content]},
            {name3:[speechOrderNum, text-content]},
            {name2:[speechOrderNum, text-content]},
            {name1:[speechOrderNum, text-content]},
            {name4:[speechOrderNum, text-content]}],
        {heading3:[text-content]},
        {heading4:[text-content]}
        }
    }
}

挑战在于不同的文件可能有不同的标题和标题数量。但总会有一个叫做“演示文稿”的部分,并且很可能有“问答”部分。这些部分标题始终由等号字符串分隔。并且不同说话者的内容总是由短划线串分隔。问答部分的“发言顺序”用一个方括号中的数字表示。参与者总是在文档的开头用星号标记在他们的名字之前,并且他们的磁贴总是在下一行。

任何关于如何解析文本文件的建议都将受到欢迎。理想的帮助应该是提供指导,指导如何为每个文件生成这样的字典(或其他合适的数据结构),然后可以将这些文件写入数据库。

谢谢

-编辑--

其中一个文件如下所示:https://pastebin.com/MSvmHb2e

其中“问题和回答”部分被错误地标记为“演示”,并且没有其他“问题和回答”部分。

和最终样本文本:https://pastebin.com/jr9WfpV8

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43596745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档