Python如何从txt文件中提取特定数据

 更新时间:2023年08月17日 08:38:56   作者:六和七  
这篇文章主要给大家介绍了关于Python如何从txt文件中提取特定数据的相关资料,有时我们会遇到需要按行读取文本的情况,我们要读取txt文件获得数据,需要的朋友可以参考下

本段代码用于,想要从一段txt文件中只提取目标数据的情况。

代码:

def get_data(txt_path: str = '', epoch: int = 100, target: str = '', target_data_len: int = 5):
    num_list = []  # 将提取出来的数据保存到列表,并在最后返回
    data = open(txt_path, encoding="utf-8")  # 打开文件
    str1 = data.read()  # 将文件中读取到的内容转化为字符串
    data.close()  # 关闭文件
    for i in range(0, epoch):
        index = str1.find(target)  # 查找字符串str1中str2字符串的位置
        num_list.append(float(str1[index+len(target):index+len(target)+target_data_len]))  # 将需要的数据提取到列表中
        str1 = str1.replace(target, 'xxxx', 1)  # 替换掉已经查阅过的地方,' xxxx '表示替换后的内容,1表示在字符串中的替换次数为1
    return num_list

函数参数解释:

  • txt_path 文件路径
  • epoch 这份文本文件中要提取出的数据个数,默认100
  • target 目标数据的前缀
  • target_data_len 目标数据的长度,默认为5
    返回值,列表数据

使用举例:

txt文档内容:

x1:273   test3:477    y4:38489   y1:149   x2:423
x1:274   test3:475    y4:37956   y1:152   x2:422
x1:269   test3:473    y4:38156   y1:152   x2:421
x1:271   test3:471    y4:38156   y1:155   x2:418
x1:272   test3:467    y4:38056   y1:158   x2:416
x1:275   test3:466    y4:37956   y1:161   x2:415

使用:

data_path = "D:/program/test/double_camera_data/x_data.txt"
# 提取x1的数据
list_x1  = get_data(data_path, 6, target="x1:", target_data_len=3)
# 提取test3的数据
list_test3  = get_data(data_path, 6, target="test3:", target_data_len=3)
# 提取y4的数据
list_y4  = get_data(data_path, 6, target="y4:", target_data_len=6)
print(list_x1)
print(list_test3)
print(list_y4)

输出:

[273.0, 274.0, 269.0, 271.0, 272.0, 275.0]
[477.0, 475.0, 473.0, 471.0, 467.0, 466.0]
[38489.0, 37956.0, 38156.0, 38156.0, 38056.0, 37956.0]

附:Python 从不规则文本中提取有效信息

背景:从一个混有文字和多个表格的word文档里,提取表格中有效信息

代码:

from docx import Document
import numpy as np
import pandas as pd
#读取文件
doc = Document("文件名.docx")
#读取表格
tables = doc.tables
#print(len(tables))
rlt = []
flag = 0
for t in tables: #每一个表格
    rows = t.rows
    for r in rows: #每一行
        cols = r.cells
        for c in cols: #每一个单元格
            if flag != 0:
                rlt.append(c.text)
                flag = 0
                continue
            if c.text == "不动产所有权人" or c.text == "不动产权属证明" or c.text == "项目名称" or  c.text == "项目地址":
                flag = 1
nums = len(rlt)
rlt = np.array(rlt).reshape((nums//4,4))
#print(rlt)            
df = pd.DataFrame(rlt,columns= ["不动产所有权人" ,"不动产权属证明" ,"项目名称","项目地址"])
#print(df)
df.to_excel('rlt.xlsx')

总结

到此这篇关于Python如何从txt文件中提取特定数据的文章就介绍到这了,更多相关Python从txt文件提取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中如何正确使用正则表达式的详细模式(Verbose mode expression)

    python中如何正确使用正则表达式的详细模式(Verbose mode expression)

    许多程序设计语言都支持利用正则表达式进行字符串操作,python自然也不例外,下面这篇文章主要给大家介绍了关于在python中如何正确使用正则表达式的详细模式(Verbose mode expression)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Python3中lambda表达式与函数式编程讲解

    Python3中lambda表达式与函数式编程讲解

    今天小编就为大家分享一篇关于Python3中lambda表达式与函数式编程讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • scipy.interpolate插值方法实例讲解

    scipy.interpolate插值方法实例讲解

    这篇文章主要介绍了scipy.interpolate插值方法介绍,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Django admin 实现search_fields精确查询实例

    Django admin 实现search_fields精确查询实例

    这篇文章主要介绍了Django admin 实现search_fields精确查询实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 基于Python创建语音识别控制系统

    基于Python创建语音识别控制系统

    这篇文章主要介绍了通过Python实现创建语音识别控制系统,能利用语音识别识别说出来的文字,根据文字的内容来控制图形移动,感兴趣的同学可以关注一下
    2021-12-12
  • Windows下实现Python2和Python3两个版共存的方法

    Windows下实现Python2和Python3两个版共存的方法

    这篇文章主要介绍了Windows下实现Python2和Python3两个版共存的方法,本文详细的给出了操作步骤和设置完成后的使用方法,需要的朋友可以参考下
    2015-06-06
  • Python库docopt命令行参数解析工具

    Python库docopt命令行参数解析工具

    这篇文章主要介绍了Python库docopt命令行参数解析工具,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python读取表格类型文件代码实例

    Python读取表格类型文件代码实例

    这篇文章主要介绍了Python读取表格类型文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python关于调用函数外的变量实例

    python关于调用函数外的变量实例

    今天小编就为大家分享一篇python关于调用函数外的变量实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 初步讲解Python中的元组概念

    初步讲解Python中的元组概念

    这篇文章主要介绍了初步讲解Python中的元组概念,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05

最新评论