使用 influxdb 包向 influxdb 数据库批量插入csv中的数据

1、安装相关的包

pip install influxdb==5.3.1
pip install pandas==1.1.3

2、具体代码
先准备一个csv的数据文件 命名为test.csv
脚本会将csv中的数据批量插入到influxdb数据库

import csv
from influxdb import InfluxDBClient
import os
import json
import time
import datetime

def main():
	# 连接influxdb数据库
    client = InfluxDBClient('127.0.0.1', 8086)
    # 创建一个数据库
    client.create_database('test')
    client.switch_database('test')
    csv_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test.csv')
    json_body = []
    with open(csv_path, 'r') as f:
    	# 读第一行为字段列表容器
        headers = f.readline()
        for line in f.readlines():
        	# 构造要写入的dict
            fields = {
    
    headers.split(',')[i].strip(): line.split(',')[i].strip() for i in range(len(headers.split(',')))}
            # time.sleep(0.1)
            json_dic = {
    
    
                "measurement": "test_table",
                "tags":None,
                "time": datetime.datetime.utcnow(),
                "fields": fields
            }
            json_body.append(json_dic)
    client.write_points(json_body)
if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/haeasringnar/article/details/111995435