Pandas.to_sql插入数据报错

【TDengine 使用环境】
预生产环境

【TDengine 版本】

3.3.6.13

【操作系统以及版本】

ubuntu 2204

【部署方式】容器

【集群节点数】

1

【集群副本数】

1

【描述业务影响】

无法插入数据

【遇到的问题:问题现象及影响】

pandas.to_sql 无法插入超级表数据

【报错完整截图】(不要大段的粘贴报错代码,论坛直接看报错代码不直观)

python库为


taospy>=2.8.6
pandas>=2.3.3
numpy>=2.2.6

客户端为


TDengine-client-3.3.6.13-lite

代码

import re
import warnings
from datetime import datetime

from sqlalchemy.exc import SAWarning
import numpy as np
import pandas as pd
from tqdm import tqdm

from sqlalchemy import create_engine, DateTime, text
from sqlalchemy.types import Integer, Float, TIMESTAMP, String

def create_connection_with_sqlalchemy():
    engine = create_engine(f"taos://root:taosdata@192.168.11.225:6030?timezone=Asia/Shanghai")
    conn = engine.connect()
    return conn

conn = create_connection_with_sqlalchemy()



conn.execute(text("CREATE DATABASE IF NOT EXISTS cq"))
conn.execute(
    text(
        """CREATE STABLE IF NOT EXISTS cq.gas_data (datetime TIMESTAMP,p_t FLOAT,p_c FLOAT,q_export FLOAT,p_export FLOAT,temperature_export FLOAT,q_all FLOAT,open_time INT,close_time INT,status INT) TAGS (gas_no BINARY(64))"""
    ))
conn.execute(text("Use cq"))

tmp_df = pd.DataFrame({
    "datetime": [datetime(2025, 7, 7, 8, 5, 40, 465),datetime(2025, 7, 7, 8, 10, 50, 465)],
    "p_t": [1.64, 1.66],
    "p_c": [3.16, 1.34],
    "q_export": [1.3103895, 1.2312],
    "p_export": [1.633, 1.232],
    "temperature_export": [15.53, 4.312],
    "q_all": [167.7261, 254.2],
    "open_time": [120, 120],
    "close_time": [360, 360],
    "status": [1,1],
    "gas_no":['a2','a3']
})

column_types = {
    'datetime': TIMESTAMP,
    'p_t': Float,
    'p_c': Float,
    'q_export': Float,
    'p_export': Float,
    'temperature_export': Float,
    'q_all': Float,
    'open_time': Integer,
    'close_time': Integer,
    'status': Integer,
    'gas_no': String,
}
tmp_df.to_sql("gas_data", con=conn,
              index=False, if_exists="append",dtype=column_types)

插入数据报错

添加 tbname

tmp_df = pd.DataFrame(
    {
        "datetime": [
            datetime(2025, 7, 7, 8, 5, 40, 465),
            datetime(2025, 7, 7, 8, 10, 50, 465),
        ],
        "p_t": [1.64, 1.66],
        "p_c": [3.16, 1.34],
        "q_export": [1.3103895, 1.2312],
        "p_export": [1.633, 1.232],
        "temperature_export": [15.53, 4.312],
        "q_all": [167.7261, 254.2],
        "open_time": [120, 120],
        "close_time": [360, 360],
        "status": [1, 1],
        "gas_no": ["a2", "a3"],
        "tbname": ["tbname1", "tbname2"],
    }
)
1 个赞

此话题已在最后回复的 10 天后被自动关闭。不再允许新回复。