我有一个具有以下数据格式的accesslog文件:
10.183.252.22 - - [18/May/2014:00:06:06 -0700] GET
/main/page_res/mon/imp?id=11062&cpnsite_id=29374&bid=0.3 HTTP/1.1 3
我需要将3个给定小时的所有出价值(在本例中为0.3)添加到变量中。例如,下午3点到下午6点之间所有出价值的总和。
更新 我已经编写了代码并且它正在运行。现在我只需要知道这是一种很好的方法,还是有更好的方法?
此代码中的任何可能的改进?
代码:
with open("log_file.txt") as f:
total_bid = 0
while True:
line = f.readline()
string = line
time = string.split(" ") [3]
hour = time.split(":") [1]
hour = int(hour)
if hour > 6: #no need to read logs of later hrs.
break
else:
pass
if hour >= 03 and hour < 06:
bid_str = string.split(" ") [6]
bid = bid_str.split (";") [2]
bid_price = bid.split("=") [1]
bid_price = float(bid_price)
total_bid = total_bid + bid_price
print total_bid
else:
pass