1
商户号:102030303020302
是弹尽粮绝|2323|20.00
受打击了|23234|21.00
1
商户号:123300009920299
时带来了|222|22.00
是弹尽粮绝了|233|223.00
睡懒觉了|222|32.00
1
商户号:232323111223333
了解了解|22|998.00
就是了奖励奖|22|233.00
就了解了解|333|999.00
上面是文本内容,想读取上面文本,每行前面加上商户号,输出新的文本,谢谢
# -*- coding: gbk -*-
import os
import re
file = open("10304_0.txt",'r')
f = open("10304",'w')
content = file.readlines()
n =0
o =0
b=[]
c={}
d =[]
for i in content:
n+=1
if "商户号" in i:
b.append(re.findall("[0-9]{15}",i))
print(n)
for j in content:
o+=1
if ".00" in j:
d.append(j.strip().split("|"))
print(o)
print (d)
print(b)
f.close()
file.close()
import re
import xlwt
path = r'10304.txt'
with open(path,encoding='gbk')as f:
res = f.readlines()
list1 = []
list_all = []
for line in res:
if '商户号' in line:
if len(list1)!=0:
list_all.append(list1)
list1 = []
list1.append(line)
elif line.count('|')==3:
list1.append(line)
list_all.append(list1)
dict1 ={}
for item in list_all:
list1 = re.findall('商户号:(\d+)',item[0])
for it in item[2:]:
need_list = [x.replace('\n','').replace('\t','').strip() for x in it.split('|')]
if dict1.get(list1[0]):
dict1[list1[0]].append(need_list)
else:
dict1[list1[0]] = [need_list]
wb = xlwt.Workbook(encoding="utf-8")
ws = wb.add_sheet('test_sheet', cell_overwrite_ok=True)
title = ['商户号', '收费品种', '收费金额','成功金额','收费账号']
for i in range(len(title)):
ws.write(0, i, title[i])
count= 1
for k,v in dict1.items():
ws.write(count,0,k)
if count!=1:
count+=1
for line in v:
for index,value in enumerate(line,1):
ws.write(count,index,value)
count+=1
wb.save('test.xls')
没看懂问题,可否详细描述一下
上面的是格式文本,我想将商户号加在每一句的前头,形成一个格式化文本,并输出