基于Python的web报告工具?

基于Python的web报告工具?,python,reporting,Python,Reporting,我有一个问题要问那些使用python进行web工作的人。是 有人熟悉基于python的报告工具吗?我就要 从一个相当大的web应用程序开始,需要能够完成一些任务 用户报告(发票、收入报告等)。它可以是现有的 django应用程序或任何基于python的应用程序,这样我就可以连接到它。谢谢 标记 欢迎访问ReportLab开放源代码站点。ReportLab是一个以编程方式创建PDF文档的库。这是一个用Python编写的快速、灵活、跨平台的解决方案 或者比reportlab高一点:-现在(构建在re

我有一个问题要问那些使用python进行web工作的人。是 有人熟悉基于python的报告工具吗?我就要 从一个相当大的web应用程序开始,需要能够完成一些任务 用户报告(发票、收入报告等)。它可以是现有的 django应用程序或任何基于python的应用程序,这样我就可以连接到它。谢谢

标记

欢迎访问ReportLab开放源代码站点。ReportLab是一个以编程方式创建PDF文档的库。这是一个用Python编写的快速、灵活、跨平台的解决方案


或者比reportlab高一点:-现在(构建在reportlab之上)

网址:

  • 将HTML和CSS输入转换为PDF文件
  • 是纯Python编写的,因此与平台无关
  • 支持文档细节,如列、页眉、页脚、页码、自定义Postscript和TrueType字体等
  • 对Django、Turbogears、CherryPy、Pylons和WSGI等框架的最佳支持
  • 与Python程序的简单集成
  • 也可以作为独立的命令行工具用于Windows、MacOS X和Linux

大多数报告工具都停留在80年代:当你“绘制”一份打算打印的报告时,它完全没有与其他报告集成

有时候我们仍然需要它。如果你需要打印一张发票,你会被这种功能所困扰。但总的来说,现在大多数报告都是每页包含多个查询/图表/图形/表格,并直接在其中构建了向下钻取功能

如果你对OLAP工具有足够的需求,那么你甚至不需要编写报告,你的用户(理论上)可以。如果不是的话,我很少看到“报表工具”比使用诸如图表控制器之类的工具更好的场景,比如使用php、perl、python、ruby等语言。

还可以看看一个工具,它允许您在数据库中定义报表(使用存储过程),然后处理数据的布局和格式

尽管myDBR是一个PHP应用程序,但它不需要任何PHP编码,只需安装该应用程序并将其作为iframe嵌入到您自己的应用程序中即可。

尝试查看Python框架。这只是部分解决了你的问题,但我认为可能会有所帮助

您可以使用Python进行OLAP/聚合浏览,也可以运行OLAP HTTP服务器(称为切片器)。下面是一个使用HTTP服务器的示例:报告。前端是PHP,它通过HTTP访问切片器服务器。可以找到服务器的示例以及服务器的文档

目前,该框架使用SQLAlchemy提供SQL后端,因此您可以使用SQLAlchemy引擎提供的任何数据库

计划采用图表、表格和其他形式的报告,包括JS前端框架。只是想至少在较低的OLAP层上有所帮助


如果您有任何问题,请告诉我,我是作者。

我最近一直在做一个补充。它允许您从Python创建HTML报告,您可以将其作为独立的HTML文件共享。这意味着您可以拥有交互式组件,例如表格查看器和交互式绘图(自从最初提出这个问题以来,这些组件变得非常流行)

目前,它支持pandas数据帧、Bokeh、Plotly、Altair、JSON和Markdown组件

例如:

import altair as alt
import pandas as pd
import datapane as dp

df = pd.read_csv('https://query1.finance.yahoo.com/v7/finance/download/GOOG?period1=1553600505&period2=1585222905&interval=1d&events=history')
chart = alt.Chart(df).encode(x='Date', y='High', y2='Low').mark_area(opacity=0.5).interactive()

dp.Report(dp.Table(df['High']), dp.Plot(chart)).save(path='stock_analysis.html')

现在还早,但请查看:

当您在SO上搜索时,您发现了什么?我有350支安打。其中一个可能会回答你的问题。请阅读以下内容并结束此问题。嗨,S.Lott。谢谢,但这并没有完全回答我的问题。我不是在找伯特。谢谢你@马克·弗里曼:还有350个问题。哪一个没有回答你的问题?请具体说明。有人问过这个问题;你可能会比我更快地找到一个现有的答案。嗨,马修。这可能真的管用!我感谢你的建议。我会投票支持你的,但我还没有要点。