用Python和SQLite存储时间序列数据:高效与低成本的解决方案
import sqlite3
import time
# 连接到SQLite数据库
conn = sqlite3.connect('time_series.db')
cursor = conn.cursor()
# 创建时间序列数据表
cursor.execute('''
CREATE TABLE IF NOT EXISTS time_series_data (
id INTEGER PRIMARY KEY,
timestamp REAL NOT NULL,
value REAL NOT NULL
)
''')
conn.commit()
# 生成时间序列数据并插入数据库
def generate_and_insert_time_series_data(n):
# 生成模拟数据
data = [(int(time.time() * 1000), i, i * 1.1) for i in range(n)]
# 批量插入数据
cursor.executemany('INSERT INTO time_series_data (timestamp, value) VALUES (?, ?)', data)
conn.commit()
# 插入1000条数据
generate_and_insert_time_series_data(1000)
# 关闭数据库连接
conn.close()
这段代码首先连接到一个SQLite数据库,然后创建一个名为time_series_data
的表(如果该表尚不存在),用于存储时间戳和值。接着,它定义了一个函数generate_and_insert_time_series_data
,该函数生成模拟的时间序列数据,并使用executemany方法批量插入数据。最后,它插入了1000条数据,并关闭了数据库连接。这个过程展示了如何有效地使用Python和SQLite存储和处理时间序列数据。
评论已关闭