0
これはほぼ確実に尋ねられました。csvデータをPythonからinfluxdbにインポートする
.csv
ファイルでは、次のようなデータがあります。timeseries
データには、見出しを持っていませんが、これは異なるフィールドが何であるかです:date,time,open,high,low,close,volume,0
2017-09-22,21:50:00,131.36,131.415,131.35,131.39,78489,0
2017-09-22,21:55:00,131.39,131.4,131.37,131.38,95322,0
2017-09-22,22:00:00,131.38,131.6,131.31,131.39,1212804,0
私はpython
からInfluxDB
にこのデータをインポートしようとしています。ドキュメントでは、行ごとにjson
を作成する必要があることがわかりますが、これがどのように行われているのかは不明です。
これはシガーではありません。文字列がすでに分割されていて、datetime-timestampがすでに正しい形式であるとします。私は、唯一のfloat値を取得しているようだ - 私は以下のjson_bodyを印刷するとき、私は
[{'fields': {'Int_value': '1212804', 'Float_value': '131.39'}, 'time': datetime.datetime(2017, 9, 22, 22, 0), 'measurement': 'quote'}]
右思えない、例えば取得します。
InfluxDBへの正しい入力用JSONは何ですか?
import datetime
import random
import time
import os
import csv
from csv import reader
import argparse
from influxdb import client as influxdb
db = influxdb.InfluxDBClient("127.0.0.1", 8086, "", "", "stocks")
def read_data(filename):
print filename
with open(filename) as f:
lines = f.readlines()[1:]
return lines
if __name__ == '__main__':
filename = r"jnj.us.csv"
lines = read_data(filename)
for rawline in lines:
line = rawline.split(",")
d= getPythonDateTimeFromStr(line[0], line[1])
#EVERYTHING UP TO HERE WORKS. Not sure how to create the json below
#====================================
json_body = [
{
"measurement": "quote",
"time": d,
"fields": {
"Float_value": line[2],
"Float_value": line[3],
"Float_value": line[4],
"Float_value": line[5],
"Int_value": line[6]
}
}
]
print json_body
db.write_points(json_body)