import pyodbc
import re
from datetime import datetime
# 创建连接字符串
conn_str = (
r'DRIVER={ODBC Driver 17 for SQL Server};'
r'SERVER=localhost;' # 你的SQL Server地址,如果是本机可以用localhost或者127.0.0.1
r'DATABASE=WaterLevelData;' # 你的数据库名称
r'UID=sa;' # 使用的用户名,这里是sa
r'PWD=Li123456.' # 对应的密码
)
# 使用连接字符串创建连接
conn = pyodbc.connect(conn_str)
# 创建游标对象
cursor = conn.cursor()
message = "2023年07月28日08:00金沙电厂坝址上游水位1020.70m,坝址下游水位1002.30m,出库流量2977m³/s,请下游相关单位注意流量变化,确保安全!"
# 使用正则表达式提取信息
time_str = re.search(r"\d{4}年\d{2}月\d{2}日\d{2}:\d{2}", message).group(0)
time = datetime.strptime(time_str, "%Y年%m月%d日%H:%M")
value_str = re.search(r"出库流量(\d+)m³/s", message).group(1)
value = float(value_str)
# 插入数据到数据库
stcd = 1000
cursor.execute("INSERT INTO msg (stcd, time, value,original) VALUES (?, ?, ?, ?)", (stcd, time, value, message))
# 提交事务,这一步很重要,否则你的修改不会被真正的执行
conn.commit()