influxdb数据导入(csv文件)

1.先去掉csv表头信息

test.to_csv('test.csv', header=None, index=False)

2.csv文件转化为influx接受的txt文件

import time
import os
import csv
t = time.time()
with open('test.txt', 'w') as f1:
    f1.write('# DDL\n')
    f1.write('CREATE DATABASE testx_v1\n')
    f1.write('\n# DML')
    f1.write('\n# CONTEXT-DATABASE: testx_v1')
    for i in range(1,2):
        s = str(i)
        with open('test.csv') as csvfile:
            readcsv = csv.reader(csvfile)
            for row in readcsv:
                f1.write('\ntestx_v1')
                f1.write(' 103=' + row[1])
                f1.write(',104=' + row[2])
                f1.write(',refrigerantLowTemp=' + row[33])
                f1.write(',steam_pressure_target=' + row[34])
                f1.write(' ' + row[0])
    f1.write('\n')
f1.close()

注意:

  •  DDL与DML之间需要至少空一行
  • f1.write('\ntestx_v1')表示写入的measure,实际不会在数据库中看到
  • f1.write(' 103=' + row[1])前面的字段需要空一格,表示开始field字段的写入
  • f1.write(' ' + row[0])前面的字段也需要空一格,表示开始时间字段的写入,此处时间使用纳秒ns

3.将生成的txt文件复制到influxdb所在的linux环境

4.使用dos2unix转化txt文件

dos2unix test.txt

注意:

  • 若linux环境没有此命令,需要安装dos2unix软件

5.使用influx命令存储test.txt中的数据

influx -import -path=test.txt -precision=ns &> influx.log

 注意:

  • 将运行日志保存在influx.log中

6.查验存储是否成功

 

influxdb数据导出

注意:

  • 导出的csv文件,每隔10000行会打印一次表头信息,后续做数据分析时,需要删除此些行
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐