2017-05-23 9 views
0

私はwrite_points()を使用して、Pythonでinfluxdbデータベースにデータを追加しようとしています。しかし、write_pointsのタイムスタンプ部分でエラーが発生しています。私が最初に Python influxdb timestamp valueerror

info = line.split() 
s_time = info[2] 
i_time = "20" + s_time[6:8] + "-" + s_time[0:2] + "-" + s_time[3:5] + ' ' + s_time[9:] 
fixedtime = datetime.datetime.strptime(i_time, "%Y-%m-%d %H:%M:%S") 

を使用して、私はまた、タイムスタンプint型

inttime = int(time.time()*1000); 
を作ってみましたinfluxdb に必要なすべての他の部分とJSONまでの時間を追加、タイムスタンプ複数の方法を定義しようとしています

私にエポックタイムを与えます。私はエポックタイムを使用する場合、これらのタイムスタンプの どちらも、私のコード

dbclient.write_points(db_point, time_precision='ms', protocol='json') 

にし、line_protocol.py

if isinstance(timestamp, Integral): 
     return timestamp # assume precision is correct if timestamp is int 
    if isinstance(_get_unicode(timestamp), text_type): 
     timestamp = parse(timestamp) 
    if isinstance(timestamp, datetime): 
     if not timestamp.tzinfo: 
      timestamp = UTC.localize(timestamp) 
     ns = (timestamp - EPOCH).total_seconds() * 1e9 
     if precision is None or precision == 'n': 
      return ns 
     elif precision == 'u': 
      return ns/1e3 
     elif precision == 'ms': 
      return ns/1e6 
     elif precision == 's': 
      return ns/1e9 
     elif precision == 'm': 
      return ns/1e9/60 
     elif precision == 'h': 
      return ns/1e9/3600 
    raise ValueError(timestamp) 

の最後の行に次の行から値のエラーが発生します整数は何とかセットに変換されるので、ifステートメントのどれも渡されませんが、なぜ文字列がifステートメントの1つを渡すのか分かりません。

答えて