Flask,Pandas,SQLITE3将日期时间传递给HighCharts

时间:2016-12-05 17:39:58

标签: python json datetime highcharts sqlite

我正在使用Flask和Pandas从SQLITE3数据库中读取日期时间/湿度。我将这些值传递给HighChart折线图。我已尝试过从转换为CSV到JSON的所有内容,但我无法通过日期时间。湿度值正确传递。

以下是我的数据:

con = sqlite3.connect("temphum.db")
dh = pd.read_sql_query('SELECT humidity from humidities limit 10', con)
dhd = pd.read_sql_query('SELECT rDatetime from humidities limit 10', con)

我将Humidity数据转换为Highcharts可用字符串:

dhcsv = dh.ix[:,0].tolist()

我尝试使用正确的语法转换Datetime:

for i in dhd.index:
        dhd.loc[i, 'rDatetime'] = pd.to_datetime(dhd.loc[i, 'rDatetime'], format="%Y-%m-%d %H:%M:%S")

然后当我尝试将数据传递给Highcharts时,只有湿度在图表上 我可以接近这个:

DHD2json = "','".join(map(str, dhd.ix[:,0].tolist()))

但是html显示我正在传递带有前导和尾随引号的字符串,我认为这引起了我的问题 - (html var数据正在下面传递。)

var xAxis = {'categories': "2016-11-18 08:41:40','2016-11-18 08:44:08','2016-11-18 08:45:07','2016-11-18 08:46:10','2016-11-18 08:47:08','2016-11-18 08:48:08','2016-11-18 08:49:08','2016-11-18 08:50:05','2016-11-18 08:51:05','2016-11-18 08:52:11"}

非常感谢任何建设性/指导性帮助。

1 个答案:

答案 0 :(得分:1)

我认为Highcharts正在寻找一个类别列表,而不是将它们全部连接成一个字符串:

var xAxis = {'categories': [map(str, dhd.ix[:,0].tolist())]}