Python 金甲2号罐头';我不理解Raspberry Pi的格式
我试图在我的内部网络上运行一个基本的报告工具。为了实现这一点,我使用了:Python 金甲2号罐头';我不理解Raspberry Pi的格式,python,sqlite,numpy,flask,raspberry-pi,Python,Sqlite,Numpy,Flask,Raspberry Pi,我试图在我的内部网络上运行一个基本的报告工具。为了实现这一点,我使用了: 拉斯比奥斯 烧瓶(金杯2) Pandas从缓存值的SQLite数据库中提取(通过Pandas.io) Numpy,用于数据聚合 基本上,我有一个Flask视图,它从SQLite表中提取一些每日总计(日期、访问、视频播放等),然后通过NumPy按日期聚合数据,将其转换为元组,然后将其输出到HTML模板。在HTML模板中,我有一个Jinja过滤器,可以将日期转换为更友好的格式,然后将任何数字转换为逗号分隔的格式,以便于阅读
- 拉斯比奥斯
- 烧瓶(金杯2)
- Pandas从缓存值的SQLite数据库中提取(通过Pandas.io)
- Numpy,用于数据聚合
data_set = [tuple(x) for x in grand_total.to_records(index = False)]
这是我用来处理日期的Jinja模板过滤器。我在其中添加了一个额外的elif来将numpy.int64转换为int,但它仍然不起作用
@app.template_filter('DateFormattr')
def DateFormattr(PossDate):
if(isinstance(PossDate, numpy.datetime64)):
PossDate = pandas.to_datetime(PossDate)
PossDate.date().strftime('%Y-%m-%d')
PossDate = str(PossDate)[0:10]
return PossDate
else:
return PossDate
下面是构建实际表的代码:
{% for row in the_data %}
<tr>
{% for cell in row %}
<td>
{% if cell is not number %}
<b>
{{ cell | DateFormattr }}
</b>
{% else %}
{% print '{0:,}'.format(cell | int) %}
{% endif %}
</td>
{u数据%中的行的%
{第%行中的单元格为%1}
{%如果单元格不是数字%}
{{cell | dateformatr}}
{%else%}
{%print'{0:,}'。格式(单元格| int)%}
{%endif%}
这是怎么回事?覆盆子皮有没有什么怪癖,使烧瓶或金贾2引擎失控
有很多事情正在进行,我可能错过了一些细节,所以请随时要求更多的澄清
编辑以添加相关软件包:
关于RPi:
- 烧瓶0.10.1
- 烧瓶WTF 0.11
- WTForms 2.0.2
- Jinja2.7.3
- numpy 1.8.2
- 熊猫0.14.1
- SQLAlchemy 1.0.4
- 烧瓶0.10.1
- 烧瓶WTF 0.11
- WTForms 2.0.2
- Jinja2.7.3
- numpy 1.9.2
- 熊猫0.15.2
- SQLAlchemy 0.9.9
IIRC,由于RPi的限制,我不得不使用apt get安装Pandas,因此存在版本差异。Pi和Mac上Python和库的版本等?删除DateFormatr自定义筛选器时会发生什么?@NickWoodhams:这会使日期字段(表的第一列)显示一个丑陋的时间戳,但是表格的其余部分保持不变。@nathancahill当然应该包括在内。我将添加到上面。如果你将Mac上的numpy和pandas降级到RPi版本,你能复制这个问题吗?