我有一个大约80mb的巨大文件,我正在从中生成另一个命令数据的文件。但是由于文件很大,我编写的程序要花很多时间(大约1小时),那么如何减少持续时间呢?
下面是文件的内容。
在1/20/2019 12:00:00上午登录 测试经理| 1706 TestStandEngineWrapper | 1403 记录于1/20/2019 12:00:01 AM 测试经理| 1706 TestStandEngineWrapper | 1403
像这样,我试图以以下格式订购成千上万的条目。
我正在按以下格式排列它们。
测试经理| 1706 |记录于1/20/2019 12:00:00 AM 测试经理| 1706 |记录于1/20/2019 12:00:01 AM TestStandEngineWrapper | 1403 |记录于1/20/2019 12:00:00 AM TestStandEngineWrapper | 1403 |在1/20/2019 12:00:01 AM记录
import re
file=open("C:\\Users\\puru\\Desktop\\xyz.txt","rt")
file1=open("C:\\Users\\puru\\Desktop\\xyz1.txt","wt")
file1.write("")
arr1=file.readlines()
str1=""
str2=""
arr2=[]
arr3=[]
arr4=[]
#for j in iter(file.readline, ''):
for i,j in enumerate (arr1):
if "Logging" in j:
str1=j
elif "Logging" not in j:
arr3.append(j.split("|")[0])
str2=j.rstrip()+" | "+str1
arr2.append(str2)
str2=""
for i in arr3:
if i not in arr4:
arr4.append(i)
for j in arr4:
for k in arr2:
if re.match(j,k):
file1=open("C:\\Users\\puru\\Desktop\\xyz1.txt","at")
file1.write(k)
file1.close()
file.close()
尽管我得到了期望的输出,因为它花费很多时间,但它并不是那么有用。您能建议一些减少时间的事情吗?