2017-09-23 289 views
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) 

答えて

1

おやおや、

"fields": { 
      "Float_value": line[2], 
      "Float_value": line[3], 
      "Float_value": line[4], 
      "Float_value": line[5], 
      "Int_value": line[6] 
} 

"fields": { 
      "Open": line[2], 
      "High": line[3], 
      "Low": line[4], 
      "Close": line[5], 
      "Volume": line[6] 
} 
であるべき
関連する問題