import sqlite3
# SQLiteデータベースに接続
conn = sqlite3.connect('log_data.db')
cursor = conn.cursor()
# データベースにテーブルを作成(既に作成済みの場合はスキップ)
cursor.execute('''
CREATE TABLE IF NOT EXISTS logs (
id INTEGER PRIMARY KEY,
timestamp DATETIME,
event_type TEXT,
additional_info TEXT
)
''')
# テキストファイルからログデータを読み取り、データベースに挿入(重複を避ける)
with open('server_logs.txt', 'r') as file:
for line in file:
data = line.strip().split(' ')
if len(data) >= 3:
timestamp = data[0] + ' ' + data[1]
event_type = data[2]
additional_info = ' '.join(data[3:]) if len(data) > 3 else ''
# 重複をチェックするためのクエリ
cursor.execute('SELECT id FROM logs WHERE timestamp = ? AND event_type = ? AND additional_info = ?', (timestamp, event_type, additional_info))
existing_data = cursor.fetchone()
if not existing_data:
# 重複がない場合のみ挿入
cursor.execute('INSERT INTO logs (timestamp, event_type, additional_info) VALUES (?, ?, ?)', (timestamp, event_type, additional_info))
conn.commit()
conn.close()