如何用python提取txt文件中的特定信息并写入Excel

2023-05-16

源代码:
https://github.com/julis-wolala/TextdataHandler

问题描述:
我有一个这样的数据集叫test_result_test.txt,大概几百上千行,两行数据之间隔一个空行。
在这里插入图片描述

N:505904X:0.969wsecY:0.694wsec

N:506038X:4.246wsecY:0.884wsec

N:450997X:8.472wsecY:0.615wsec

...

现在我希望能提取每一行X:和Y:后面的数字,然后保存进Excel做进一步的数据处理和分析
就拿第一行来说,我只需要0.969 和0.694。每一行三个数字的具体位置是不确定的,因此不能用固定的列数去处理,刚好发现split函数能对文本进行切片,所以这里我们用这个函数来提取需要的数字信息。
split函数语法如下:

1、split()函数
语法:str.split(str="",num=string.count(str))[n]

参数说明:
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片

注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略

于是对于我们这里的文本,我们可以先用“:”切片,把文本分成三份,比如对于第一行
在这里插入图片描述
以“:”进行切片得到
在这里插入图片描述
取第三个分片进行“w”切片,得到
在这里插入图片描述
这里的第一分片就是我们要的X坐标

最后我们分析一下思路:

  1. 首先定位文件位置
  2. 读取txt文件内容,去掉空行保存
  3. Excel准备工作,新建Excel表格,并编辑好标题为写入数据就位
  4. 对于每一行数据,首先用‘:’进行切片,再用‘w’切片得到想要的数字,然后写入Excel保存

工具:
安装好python模块的visual studio 2017
包:os,xlwt

操作:
先import我们所需要的包

import os
import xlwt
  1. 找到我们想要处理的文件,因此去到指定的位置,定位好文件
a = os.getcwd() #获取当前目录
print (a) #打印当前目录
os.chdir('D:/') #定位到新的目录,请根据你自己文件的位置做相应的修改
a = os.getcwd() #获取定位之后的目录
print(a) #打印定位之后的目录
  1. 打开我们的txt文件查看下里面的内容(这一步可有可无)
#读取目标txt文件里的内容,并且打印出来显示
with open('test_result1.txt','r') as raw:
	for line in raw:
		print (line)
  1. 去除空白行并保存
#去掉txt里面的空白行,并保存到新的文件中
with open('test_result1.txt','r',encoding = 'utf-8') as fr, open('output.txt','w',encoding= 'utf-8') as fd:
	for text in fr.readlines():
		if text.split():
			fd.write(text)
	print('success')

执行完毕同个位置下多了一个txt文件
在这里插入图片描述
4. 创建一个Excel文件

#创建一个workbook对象,相当于创建一个Excel文件
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
'''
Workbook类初始化时有encoding和style_compression参数
encoding:设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。
style_compression:表示是否压缩,不常用。
'''
  1. 创建一个sheet对象
# 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
sheet = book.add_sheet('Output', cell_overwrite_ok=True)
# 其中的Output是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
  1. 在表格里添加好基本的数据标题,我这里是X和Y坐标
# 向表中添加数据标题
sheet.write(0, 0, 'X')  # 其中的'0-行, 0-列'指定表中的单元,'X'是向该单元写入的内容
sheet.write(0, 1, 'Y')
  1. 多次切割数据并定位好需要的部分保存进Excel
#对文本内容进行多次切片得到想要的部分
n=1
with open('output.txt','r+') as fd:
	for text in fd.readlines():
		x=text.split(':')[2]
		y=text.split(':')[3]
		print (x.split('w'))
		print (y.split('w'))
		sheet.write(n,0,x.split('w')[0])#往表格里写入X坐标 
		sheet.write(n,1,y.split('w')[0])#往表格里写入Y坐标
		n = n+1
# 最后,将以上操作保存到指定的Excel文件中
book.save('Output.xls')  

现在定位到之前定义的文件位置,发现又多了一个Excel表格,打开Excel,想要的数据齐齐整整的排好躺在里面,舒服~
在这里插入图片描述
在这里插入图片描述
此时数据为文本格式,想要进一步的处理请用Excel转换成数字格式

Reference:
https://blog.csdn.net/sinat_28576553/article/details/81275650

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用python提取txt文件中的特定信息并写入Excel 的相关文章

  • 遥控三通直升机飞行原理简介

    首先我们了解一下什么是三通道 xff1f 通道其实就是遥控器对飞机的控制功能 xff0c 三通道就是说遥控器可以控制飞机的三种功能 xff01 其中 xff0c 一个通道就是控制上升下降 xff0c 另一个通道就是前进后退 xff0c 还有
  • 视觉SLAM十四讲:第2讲 初识SLAM

    第2讲 xff1a 初识SLAM 2 1 引言 定位和建图是感知的 内外之分 xff1a 前者任务是明白自身的状态 xff08 即位置 xff09 xff1b 后者任务是了解外在的环境 xff08 即地图 xff09 传感器 xff1a 携
  • 使用Python实现Hadoop MapReduce程序

    转自 xff1a 使用Python实现Hadoop MapReduce程序 英文原文 xff1a Writing an Hadoop MapReduce Program in Python 根据上面两篇文章 xff0c 下面是我在自己的ub
  • nginx1.15与tomcat8.5整合,多https域名指向同一tomcat服务

    一 安装nginx 1 安装依赖包 安装依赖之前检查是否已经安装这些依赖包 1 rpm包安装的 xff0c 可以用 rpm qa 看到 xff0c 如果要查找某软件包是否安装 xff0c 用 rpm qa grep 34 软件或者包的名字
  • 平衡车之角度环分析及调试

    1 直立环pd xff1a d参数的引入是为了抑制震荡 p xff0c 比例参数 xff0c 它的作用是反应了控制的响应速度 xff0c 过小的话平衡车表现是pwm明显不够直立不起来 xff0c 过大的话小车过于震荡 xff0c 震荡的时候
  • 平衡车之速度环分析及调试

    平衡车为什么只有角度环不够 xff0c 还需要速度环 xff1a 因为当角度环有偏差的时候 xff0c 根据角度环的pid是可以给小车输出pwm波维持小车平衡的 xff0c 但是小车要以什么样的速度维持平衡角度环是做不到的 xff0c 加上
  • 平衡车之转向环分析及调试

    转向环 xff1a 一般的控制系统单纯的 P 控制或者 PI 控制就可以了 xff0c 转向环就是这种 一般的控制系统 xff0c 对响应要求不高 xff0c 所以我们只使用 P 控制即可 int turn int encoder left
  • 倒立摆 角度环和位置环 分析以及参数整定

    倒立摆为什么有了角度环还必须有位置环呢 xff1f 答案是 xff1a 和平衡小车类比可得 xff0c 当只有角度环的时候 xff0c 倒立摆是可以对摆锤偏向做出pwm的反应的 xff0c 但是具体要反应合适程度到哪里 xff0c 还是应该
  • 关于新版XP光盘不能自动播放

    光驱自动运行 xff0c 首先要求在光盘中必须有一个autorun inf文件 xff0c 系统检测到这个文件后 xff0c 将调用AutoPlay来运行该文件 在autorun inf中写入了需要运行的光盘应用程序的路径 其次在注册表子键
  • 一、进程的概念、组成和特征

    一 进程与程序的区别 程序 xff1a 程序是静态的 xff0c 就是个存放在磁盘里的可执行文件 xff0c 就是一系列的指令集合 进程 xff1a 进程是动态的 xff0c 是程序的一次执行过程 xff0c 同一个程序多次执行会对应多个进
  • Ubuntu保存终端内容到日志

    Ubuntu保存终端内容到日志 1 在终端中执行 sudo script screen span class token punctuation span log 内容将保存到当前目录的screen log文件中 2 执行以下命令停止保存
  • 平衡小车从原理到实践

    平衡小车从原理到实践 作者 xff1a 公众号 xff1a 小白学移动机器人 关于内容 xff1a 参考很多网上大佬的博客加上自己的理解而成 xff0c 适合平衡车初学者和想要了解原理的小伙伴 1 平衡小车控制原理 先记住一句话 xff0c
  • 我手写了个SLAM算法!

    1 前言 前一段时间看过我文章的都知道 xff0c 我打算写一个SLAM源码阅读的文章 xff0c 然后 xff0c 我就去读了Gmapping的源码 xff0c 感受良多 xff0c 不足的地方是源码太乱了 xff0c 阅读起来真的不香
  • 我手写了个SLAM算法(二)!

    1 前言 看过之前两篇文章的大朋友们应该都知道 xff0c 我们在这里分享了SLAM算法gmapping的大刀阔斧删减版的源码和2D激光雷达运动畸变去除的源码 没看过的朋友可以点击下方文章查看 我手写了个SLAM算法 xff01 详解2D激
  • linux logrotate 配置及测试

    一 logrotate 配置 logrotate 程序是一个日志文件管理工具 用来把旧的日志文件删除 xff0c 并创建新的日志文件 xff0c 我们把它叫做 转储 我们可以根据日志文件的大小 xff0c 也可以根据其天数来转储 xff0c
  • Ubuntu Gnome屏幕旋转设置

    开始安装或启用新账户时 xff0c 屏幕自动旋转 xff0c 笔记本上很不方便 可通过如下命令设置成正常状态 xrandr o normal 通过命令完全关闭旋转功能 gsettings set org gnome settings dae
  • ubuntu之tools

    文章目录 系统图形界面优化 xff1a tweakgenome TODOFrameshot截图软件Nomacs看图软件计算器比较工具 xff1a Meld比较工具 xff1a Diffuse3 2 gif录制工具peek 编辑器 xff1a
  • python之lmdb

    文章目录 lmdb介绍安装lmdb使用 lmdb介绍 参考 LMDB的全称是Lightning Memory Mapped Database 快如闪电的内存映射数据库 它的文件结构简单 xff0c 包含一个数据文件和一个锁文件LMDB文件可
  • ubutnu系统维护

    文章目录 1 参考知识点 2 分区3 内核系统版本号查看是uefi还是leagcy启动升级设置时区自动清理手动清理 xff08 推荐 xff09 4 软件修改主机名修改用户名修改用户秘密root密码添加新用户用户组 生成随机密码管理命令温控
  • python之pcl

    pcl是点云可视化软件 xff0c 安装 conda create n py36 python 61 3 6 conda activate py36 方法1 xff0c 推荐 conda install c sirokujira pytho

随机推荐

  • 从零开始学习verilog:1

    在线资料 Verilog 教程 verilog tutorial 推荐书籍 verilog数字系统技术和实例分析 环境搭建 vscode verilog HDL SystemVerilog verilog语言高亮 Verilog Testb
  • verilog之环境记录

    操作系统 xff1a ubuntu18 04 环境安装 参考 span class token function sudo span span class token function apt span span class token f
  • Qt之程序打包发布

    文章目录 linux环境1 QtCreate使用Release版本编译2 使用ldd命令查看和导出需要的库3 编写执行程序的sh文件4 执行程序 Windows环境 qt程序发布打包方法如下 linux环境 原文链接 xff1a https
  • conda常用命令:安装,更新,创建,激活,关闭,查看,卸载,删除,清理,重命名,换源,问题

    文章目录 下载安装升级卸载Anaconda软件conda环境使用基本命令查看指定包可安装版本信息命令更新 xff0c 卸载安装包 xff1a 删除虚拟环境清理 xff08 conda瘦身 xff09 复制 重命名 删除env环境conda自
  • python之os文件路径、文件名、后缀分割

    直接垒代码 import os file path 61 span class hljs string 34 E tt abc py 34 span filepath fullflname 61 os span class hljs pre
  • 目前很火的SD-WAN是什么意思

    SD WAN SD WAN xff0c 即广域软件定义网络 xff0c 是将SDN技术应用到广域网场景中所形成的一种服务 xff0c 这种服务用于连接广阔地理范围的企业网络 数据中心 互联网应用及云服务 这种服务的典型特征是将网络控制能力通
  • cmd-bat 命令延时方法

    参考 xff1a https blog csdn net jk110333 article details 41869053 按照建议使用方法4 命令
  • Qt5中文教程

    1 教程 PyQt5中文教程PyQt5英文教程Qt5中文教程Qt 编程指南 下拉式复选框QComboCheckBox https blog csdn net LJX4ever article details 78039318 http qa
  • train,val,test的区别

    参考 xff1a https www mobibrw com 2017 7966
  • ubuntu18.04下搭建PX4编译环境

    Ubuntu18 04 Development Environment of PX4 Firmware 1安装Ubuntu2开始配置环境2 1下载PX4的固件源码2 2环境配置Bash ScriptsGazebo JMAVSim and N
  • PIX4中CAN调试——学习记录

    PIX4中CAN调试 学习记录 一 先行知识 nuttx驱动二 PX4中CAN驱动设置 固件版本 xff1a V1 13 0 编译版本 xff1a make px4 fmu v3 default 一 先行知识 nuttx驱动 Nuttx驱动
  • 蓝牙 舵狗 openmv通信相关

    总的思路是以openmv 接收蓝牙的指令 xff0c 如果是自动选项 xff0c 就在openmv 运行识别红球进行固定距离跟踪的程序 xff1b 如果是手动选项 xff0c openmv就直接把所得到的数据传给STM xff13 xff1
  • TM4C123G开发板学习记录(八)存储和安全管理(上)

    前言 TM4C123GH6PM有四种类型内存 xff1a FlashSRAMEEPROMROM 芯片设计厂商提供了灵活的操作 xff0c 性能优化 xff0c 和安全控制设计 本章学习目标 四种内存的特点和操作BitBang技术和使用MPU
  • 11-16 Fluent结果查看及后处理功能(做动画、监控点)

    lt
  • 如果你也23岁(2)

    接着上一篇 xff0c 跟大伙分享一下原来的这篇文章 xff1a 23 岁那年你正处在哪个状态 xff1f 现在呢 xff1f 我 xff0c 23岁 xff0c 应届毕业生 生活 xff0c 工作 xff0c 爱情都处于人生的低谷 xff
  • (实测可用)STM32 CubeMx安装教程

    一 STM32CubeMX 简介 xff08 1 xff09 STM32 是Cortex ARM内核架构的芯片 xff0c 中文名称为意法半导体 xff0c 是目前市面上应用自广泛的MCU芯片 STM32CubeMX 是 ST 意法半导体近
  • 25个国内外文献数据库

    1 国家哲学社会科学文献中心 网址 xff1a http www ncpssd org 2 中国国家数字图书馆 网址 xff1a http mylib nlc cn web guest home 3 中国科技论文在线 网址 xff1a ht
  • 巧用 IOPS 提升 Etcd 30% 的写入性能

    Laf 公众号已接入了 AI 聊天机器人 x1f916 xff0c 支持 GPT Claude 以及 Laf 专有模型 xff0c 可通过指令来随意切换模型 欢迎前来调戏 x1f447 本文转自博客园 xff0c 原文 xff1a http
  • 深度学习与对抗样本

    1 深度学习的概念 深度学习是机器学习中一种基于对数据进行表征学习的方法 观测值 xff08 例如一幅图像 xff09 可以使用多种方式来表示 xff0c 如每个像素强度值的向量 xff0c 或者更抽象地表示成一系列边 特定形状的区域等 而
  • 如何用python提取txt文件中的特定信息并写入Excel

    源代码 xff1a https github com julis wolala TextdataHandler 问题描述 xff1a 我有一个这样的数据集叫test result test txt xff0c 大概几百上千行 xff0c 两