下面是我們的日誌文件,裏面都是一條條這樣的數據
爲了將讀取的日誌文件存入mysql,我們需要讀取日誌文件,然後按照指定格式切割出需要的數據
表字段會是time, ip , level, messages
這個可以處理大文件,因此每次只讀取一行
def read_log():
"""
讀取日誌文件,進行數據重組,寫入mysql
:return:
"""
file = "data.log-2019"
with open(file) as f:
"""使用while循環每次只讀取一行,讀到最後一行的時候結束"""
while True:
lines = f.readline()
if not lines:
break
line = lines.split(",")
data.append((line[0], line[1].strip(), int(str(line[2]).strip()), line[3].strip()))
return data
if __name__ == '__main__':
data = []
print(read_log())
運行代碼:這樣我們得到了切割後重組好的數據,可以使用execute_many()方法將它插入數據庫中