You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV文件中的数据导入TDengine数据库

TDengine CSV数据导入操作教程

前置要求

  • 已完成TDengine服务端、客户端安装,服务处于正常运行状态
  • 已根据CSV的数据字段结构,提前在TDengine中创建好对应数据库、超级表/普通表,表字段顺序、类型需和CSV数据列完全匹配,避免类型兼容报错

常用导入方案

方案1:taos shell 原生批量导入(适合中小规模数据)

操作步骤最简单,无需额外工具:

  1. 执行taos命令登录TDengine客户端
  2. 切换到目标数据库:USE 你的数据库名;
  3. 执行导入命令:INSERT INTO 目标表名 FILE 'CSV文件的绝对路径';

注意事项:CSV文件需要提前删除表头行,数据列顺序需和表字段顺序完全一致;可以提前执行SET INSERT_BATCH_SIZE = 2000;调整单批次插入行数,优化导入速度

方案2:taosdump工具导入(适合大规模数据)

适合GB级以上的大批量CSV数据导入,性能更好:

  • 导入命令示例:taosdump -i -D 目标数据库名 -t 目标表名 /path/to/your/data.csv
  • 如果CSV中的时间戳是自定义格式,可追加参数指定格式:--timestamp-format 'yyyy-MM-dd HH:mm:ss.SSS',参数值替换为你实际使用的时间格式即可

方案3:自定义脚本导入(适合需要数据预处理的场景)

如果导入前需要对CSV数据做清洗、格式转换、空值处理等操作,可通过对应语言的TDengine连接器实现,以Python为例:

  1. 先安装依赖包:pip install taos pandas
  2. 参考代码:
import pandas as pd
import taos

# 建立TDengine连接
conn = taos.connect(
    host="127.0.0.1",
    user="root",
    password="taosdata",
    database="你的目标数据库名"
)
cursor = conn.cursor()

# 读取CSV文件,可自行添加预处理逻辑
df = pd.read_csv("你的CSV文件路径")
# 示例预处理:将时间列转换为TDengine支持的格式
df['ts'] = pd.to_datetime(df['ts'])

# 批量写入数据
batch_size = 1000
for i in range(0, len(df), batch_size):
    batch = df[i:i+batch_size]
    values = ",".join([str(tuple(row)) for row in batch.itertuples(index=False)])
    cursor.execute(f"INSERT INTO 目标表名 VALUES {values}")

cursor.close()
conn.close()

常见问题处理

  • 时间格式报错:检查CSV内的时间格式是否和导入命令指定的格式匹配,TDengine默认支持Unix时间戳、ISO8601等通用时间格式
  • 字段类型不匹配报错:检查CSV内的数值是否超出表字段的存储范围,比如INT类型无法存储超过2^31-1的整数
  • 导入速度慢:调大批次插入的行数,导入过程中停止其他写入请求,关闭不必要的日志输出

内容的提问来源于stack exchange,提问作者Jackson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:48:04