python提取具有某种特定字符串的行数据方法
作者:请叫我渣渣的帕楚利亚 发布时间:2022-09-20 08:12:55
标签:python,字符串,行数据
今天又帮女朋友处理了一下,她的实验数据,因为python是一年前经常用,最近找工作,用的是c,c++,python的有些东西忘记了,然后就一直催我,说我弄的慢,弄的慢,你自己弄啊,烦不烦啊,逼逼叨叨的,最后还不是我给弄好的?呵呵
好的,数据是这样的,我截个图
我用红括号括起来的,就是我所要提取的数据
其中lossstotal.txt是我要提取的原始数据,考虑两种方法去提取,前期以为所要提取行的数据是有一定规律的,后来发现,并不是,所以,我考虑用正则来提取,经过思考以后,完成了数据的提取,如下午所示,数据变的非常好看
代码如下:
#coding:utf-8
#__author__ ='dell'
import re
f1=file('losstotal.txt','r')
data1=f1.readlines()
# print data1
f1.close()
results = []
f2 = open('loss2.txt', 'w')
# # 按照特定行提取,发现后面的行并无规律
# i = 0
# for line in data1:
# i+=1
# # print line
# if((i-1)%3==0):
# f2.write(line)
# print line
# 利用正则表达式
for line in data1:
data2=line.split()
# print data2
for i in data2:
n = re.findall(r"Iteration", i)
# m=re.findall(r"loss", i)
if n:
# print line
f2.writelines(line)
f2.close()
f3=file('loss2.txt','r')
data3=f3.readlines()
# print data1
f3.close()
f4 = open('loss3.txt', 'w')
for line in data3:
data4=line.split()
# print data2
for i in data4:
n = re.findall(r"loss", i)
# m=re.findall(r"loss", i)
if n:
print line
f4.writelines(line)
f4.close()
# 去掉逗号
f5=open('loss3.txt','r')
data5=f5.read()
f5=data5.replace(',',' ')
f6=file('lossfinal.txt','w')
f6.write(f5)
f6.close()
# # 去掉等号=
f7=open('lossfinal.txt','r')
data7=f7.read()
f7=data7.replace('=',' ')
f8=file('lossfinal.txt','w')
f8.write(f7)
f8.close()
# data3=lin.split()
# for j in data3:
# m=re.findall(r"loss",i)
# if m:
# print lin
# # m=re.findall(r"sgd_solver.cpp",i)
# n=re.findall(r"Iteration",i)
我在同样的目录下,还建立了
这几个txt文件,要不然,代码跑不通的哟。
解释:我连续用了两个正则,各自把含有特定字符串的行进行提取,两个写一起,发现还是不太会,所以分开写了,但是结果还是完成的不错!
来源:https://blog.csdn.net/u011436427/article/details/82628597


猜你喜欢
- 将音频文件拷贝到程序所在目录即可。如下所示:#!/usr/bin/env python# encoding: utf-8"&quo
- 跳转实现思路主程序相当于桌子: import tkinter as tk root = tk.Tk() 而不同的Frame相当于不同的桌布:
- 今天来分享一下图,这是一种比较复杂的非线性数据结构,之所以复杂是因为他们的数据元素之间的关系是任意的,而不像树那样 被几个性质定理框住了,元
- ##通过sqlcmd执行sql文件由于sql文件过大,超过了100M,再数据库的窗口执行,结果超出内存了,对于特别大的sql文件可以使用sq
- 建立好如下的存储过程,以后要分页,直接调用改存储过程就可以了。 注意:数据量大、性能要求高的,请个性化处理。 ALTER PROCEDURE
- 什么是MyCAT一个彻底开源的,面向企业应用开发的大数据库集群支持事务、ACID、可以替代MySQL的加强版数据库一个可以视为MySQL集群
- 最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了。今天由于工作需求,需要用Django实现单用户登录。大概意思就是跟QQ
- 步骤1:关闭MySQL服务右击【计算机】,选择【管理】,打开“计算机管理”界面选择【服务和应用程序】
- 原文:https://dev.mysql.com/doc/refman/8.0/en/group-replication-monitorin
- 线程池的概念是什么?在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是 如此,虚
- 开门见山自动化测试过程中,一般测试结果都会以邮件的形式发送给相关人员,那么,在Python中,如何编写代码将邮件发送给对应的用户?同时,发送
- 1.CNN概述CNN的整体思想,就是对图片进行下采样,让一个函数只学一个图的一部分,这样便得到少但是更有效的特征,最后通过全连接神经网络对结
- 假设我们需要一个函数什么事都不干,只是抛出异常(在某些系统中有些handler就是干这事的),我们可以很直观的写出下面的代码:def fun
- 1、首先要配好vs开发工程注意版本;我这使用32位的python那么我vs工程这边也选择32位的编译环境去配置注意点;需要将python安装
- 假如读者已经熟悉了ASP 2.0,并正在寻找3.0版本中的实际改变的列表,那么将在下面发现这些信息。假如读者是一个ASP的初学者,可以越过本
- 我就废话不多说了,大家还是直接看代码吧~In [1]: import osIn [2]: os.environ["CUDA_VIS
- 导读一篇用PyTorch Lighting提供模型服务的完全指南。纵观机器学习领域,一个主要趋势是专注于将软件工程原理应用于机器学习的项目。
- 首先总结的意义就是让杂乱无章变得更加井然有序,这样在使用的过程思路会更加清晰。数组使用方法注意点:变异方法和非变异方法。即变异方法使用会改变
- requests相比urllib,第三方库requests更加简单人性化,是爬虫工作中常用的库requests安装初级爬虫的开始主要是使用r
- 我就废话不多说了,大家还是直接看代码吧!from tensorflow.python.keras.models import Sequent