利用python提取固定格式txt文件中指定内容的示例代码

目录

前言

使用步骤

1.引入库

2.设定文件所在地址

3.提取特定模块内容

总结


前言

        在生活和工作中,我们可能遇到要从单一格式的文本中提取指定内容的情况,重复打开一份份文件再查找很繁琐,我们可以寻求更简单的方法。本文将介绍如何用代码提取txt文件中的制定模块内容,以提取基金季度报告中基金经理在“报告期内基金投资策略和运作分析”处的观点内容为例。


使用步骤

1.引入库

代码如下:

import re
import os

2.设定文件所在地址

代码如下:

file_path = "E:/cjia_code/report"

3.提取特定模块内容

代码如下:

for file in os.listdir(file_path):
    suff_name = os.path.splitext(file)[1]  # 获取文件后缀
    # 过滤非txt格式文件
    if suff_name == '.txt':
        file_name = os.path.splitext(file)[0]  # 获取文件名称
        path = os.path.join(file_path + '//' + file_name+'.txt')  # 获取文件路径
        with open(path,"r",encoding='utf-8') as f:
            content = f.read()
        # 提取“4.4 报告期内基金投资策略和运作分析”和“4.5 报告期内基金的业绩表现”之间的内容
        re_str = r'4.4 报告期内基金投资策略和运作分析(.+)4.5 报告期内基金的业绩表现'   
        resp = re.findall(re_str, content, re.S)
        result = ' '.join(resp)
        result.split('\n')  #删除换行符
        print(result)

全部代码如下:

import re
import os
file_path = "E:/cjia_code/report"
for file in os.listdir(file_path):
    suff_name = os.path.splitext(file)[1]  # 获取文件后缀
    # 过滤非txt格式文件
    if suff_name == '.txt':
        file_name = os.path.splitext(file)[0]  # 获取文件名称
        path = os.path.join(file_path + '//' + file_name+'.txt')  # 获取文件路径
        with open(path,"r",encoding='utf-8') as f:
            content = f.read()
        # 提取“4.4 报告期内基金投资策略和运作分析”和“4.5 报告期内基金的业绩表现”之间的内容
        re_str = r'4.4 报告期内基金投资策略和运作分析(.+)4.5 报告期内基金的业绩表现'   
        resp = re.findall(re_str, content, re.S)
        result = ' '.join(resp)
        result.split('\n')  #删除换行符
        print(result)

总结

        以上就是今天要讲的内容,本文简单介绍了如何提取txt文件中固定板块的内容,希望能给读者带来一些帮助。

你可能感兴趣的:(python)