读取txt文件中读取某字符所在的行

python 在TXT文件中按照某一字符串取出该字符串所在的行

日志TXT文件格式:但是我取的是某行下面的 “trans=23131”,有多个trans,下面代码可以取值到。

import re

file_name = '../data/logs.txt'
fp = open(file_name, 'r', encoding='utf-8')
lines = fp.readlines()
List = []
for line in lines:
    line = line.strip()
    if 'trans_num=' in line:
        List.append(line)
        a = len(List)
        res = re.search('trans_num=([0-9A-Za-z]*)', List[a-1]).group()
        print(res)
        with open('../data/logs_xx.txt', 'w', newline='') as file:
            file.write(res)
        List.pop()
        

参考文献:https://blog.csdn.net/JENHE/article/details/106399732


f = open('20200528.txt', 'r', encoding='utf-8')
lines = f.readlines()  
#print(lines)

for line in lines:
  line = line.strip()
  if 'Engine/' in line:
     #print(line)
     if 'Entry02' in line:
        print(line)

f.close()

查询出TXT文件里面的关键字符串然后生成CSV文件代码:文章出处

import re
import csv

name = '../data/logs'
txtName = name + ".txt"
csvName = name + ".csv"

fp = open(txtName, "rb")
a = fp.read()
result = re.findall('trans_num=([0-9A-Za-z]*)', a.decode('utf-8'))  # 正则匹配所有对应的数据
list1 = []
for i in result:
    if i != '':
        print(i)
        list1.append(i)
        with open(csvName, 'a', newline='') as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow(list1)
        list1.pop()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值