首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python将所有段落从文本文件中分离,并保存每个分隔段落的单独文本文件。

使用python将所有段落从文本文件中分离,并保存每个分隔段落的单独文本文件。
EN

Stack Overflow用户
提问于 2021-12-06 10:54:05
回答 1查看 44关注 0票数 1

问题摘要:我有一个文本文件,其中包含100个段落。我需要分离所有的100段,并将它们单独保存在100个文本文件中。

输入文本文件中段落的模式:

代码语言:javascript
复制
25763772|t|DCTN4 as a modifier of chronic Pseudomonas aeruginosa infection in cystic fibrosis
25763772|a|Pseudomonas aeruginosa (Pa) infection in cystic fibrosis (CF) patients is present
25763772    0   5   DCTN4   T116,T123   C4308010
25763772    23  63  chronic Pseudomonas aeruginosa infection    T047    C0854135
25763772    67  82  cystic fibrosis T047    C0010674

25847295|t|Nonylphenol diethoxylate inhibits apoptosis induced in PC12 cells
25847295|a|Nonylphenol and short-chain nonylphenol ethoxylates such as NP2 EO are digested
25847295    0   24  Nonylphenol diethoxylate    T131    C1254354
25847295    25  33  inhibits    T052    C3463820

同样,该文本文件中也有100段可变长度的段落。

我正在尝试这样的代码,它没有显示任何错误,但无法提取和保存一个单独的段落。请对此提出任何帮助或解决方案。提前谢谢。

代码:

代码语言:javascript
复制
with open('corpus_pubtator1.txt', 'r') as contents, open('tested23.txt', 'w') as file:
    contents = contents.read()
    lines = contents.split('\n')
    for index, line in enumerate(lines):
        if index != len(lines) - 1:
            file.write(line + '.\n')
        else:
            pass
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-06 11:13:04

试试这个:

代码语言:javascript
复制
lines = []
with open("corpus_pubtator1.txt", "r") as rf:
    lines = rf.readlines()
lines = [i if i else i.strip() for i in lines]
passages = []
passage_cache = []
for i, line in enumerate(lines):
    if i == len(lines) - 1:
        passages.append(passage_cache)
    if line.strip():
        passage_cache.append(line)
    else:
        passages.append(passage_cache)
        passage_cache = [line]
for i, passage in enumerate(passages):
    with open(f"tested{i}.txt", 'w') as wf:
        for line in passage:
            wf.write(line)

它将打开第一个输入文件,读取所有的行,并区分段落wrt之间的空行,对于每个段落,它将创建一个单独的文本文件,并在其中写入行。

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

https://stackoverflow.com/questions/70244344

复制
相关文章

相似问题

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