两个文件读取比较内容的几种方式
import csv
from decimal import Decimal
# with open('ctp.csv', 'r') as f:
# reader = csv.reader(f)
# ctp_list = list(reader)
# print(ctp_list[1])
#
# with open('rem.csv', 'r') as f:
# reader = csv.reader(f)
# rem_list = list(reader)
# print(rem_list[1])
with open('ctp.csv', 'r') as f:
reader = csv.reader(f)
ctp_list = list(reader)
print(ctp_list[1])
with open('rem.csv', 'r') as f:
reader = csv.reader(f)
rem_list = list(reader)
print(rem_list[1])
result_time = list()
for i in rem_list:
for j in ctp_list:
if i[0].split(":")[-1] != j[0].split(":")[-1]:
continue
elif i[2].split("[")[1] != j[2].split("[")[1]:
continue
else:
h, m, s = i[0].split(" ")[1].split(":")
rem_time = str(int(h) * 3600 + int(m) * 60 + int(s.split(".")[0]) + int(s.split(".")[-1]) * 0.000001)
h, m, s = j[0].split(" ")[1].split(":")
ctp_time = str(int(h) * 3600 + int(m) * 60 + int(s.split(".")[0]) + int(s.split(".")[-1]) * 0.000001)
t = Decimal(ctp_time) - Decimal(rem_time)
# print(t)
result_time.append((i[0].split(":")[-1], str(t)))
print(result_time)
2:
from decimal import Decimal
result_time = list()
with open('ctp.csv', 'r') as ctp:
ctp_l = ctp.readlines()
print(f'ctp:{ctp_l}')
with open('rem.csv', 'r') as rem:
rem_l = rem.readlines()
print(f'rem:{rem_l}')
for i in rem_l:
for j in ctp_l:
if i.split(",")[0].split(":")[-1] != j.split(",")[0].split(":")[-1]:
continue
elif i.split("][")[0].split(",")[-1] != j.split("][")[0].split(",")[-1]:
continue
3:
from decimal import Decimal
result_time = list()
c = open('ctp.csv', 'r')
r = open('rem.csv', 'r')
# 数据量大的话,可以用可迭代思路。速度快很多,资源占用少
for i in r:
for j in c:
if i.split(",")[0].split(":")[-1] != j.split(",")[0].split(":")[-1]:
continue
else:
# print("t",t)
result_time.append((i.split(",")[0].split(":")[-1], str(t)))
break
else:
c.seek(0) # 重点,文件读取完了,要把指针置零,才能再读取
r.close()
c.close()