需要一个基于python的解决方案,用于基于Web的表格数据显示

时间:2011-02-08 02:35:36

标签: python tabular

我需要制作一个表格数据结构(制表符分隔的文本文件),以便作为基于Web的解决方案进行查看。我是一名生物信息学程序员,几乎没有基于Web的开发经验。我知道django在python社区非常热门,但我想在这之前问我在django上买一本书。您可以选择哪种技术堆栈来完成这样的工作。 我需要显示一个包含40-50列和100.000行的表,并希望让用户根据某些数据项过滤数据(即只显示某列中具有特定值的行,仅显示周一记录的数据)并隐藏所有其他工作日)

如果这个问题太模糊或太愚蠢,我很抱歉,但我真的需要一些基本的指导。 感谢

5 个答案:

答案 0 :(得分:2)

Django可以相当轻松地完成此任务。

答案 1 :(得分:1)

Django可以做到这一点,但我认为最好的方法是在django上使用Javascript框架,我目前正在这样做。 ExtJS在您的情况下有各种类型的网格我认为“实时”网格将是完美的。

它加载了x行,因此您不必每次都加载100,000行,只需要用户看到的行。此外,还内置了过滤器等以及许多其他功能

其他做类似事情的javascript框架是YUI,在我看来JQuery的程度较小

修改/精心

所以很明显这里不是初学者速成课程的地方,但在我看来,你需要做的事情和知识有很多。

这将首先创建一个返回JSON string的django视图。 (如果那个句子没有一大堆意义,我建议略过Django tutorial ......实际上,你可能应该这样做了。)Python有方法来转换数据类型,如字典/ csv(在你的这个格式的情况,我猜TSV lol)。然后,当你有这个(可以通过网址指向...当你深入Django它会更有意义)然后你创建ExtJS网格并将其指向该网址。

有很多关于ExtJS网格here的教程,特别是教程:网格PHP SQL我认为会有所帮助。显然不是php,但概念是一样的。

不幸的是我没有任何我自己的例子可以告诉你,但是有很多关于这些东西的资源,我不愿意买一本书

答案 2 :(得分:1)

我认为这可以在没有JavaScript的情况下轻松完成。 neolaser概述的是我的首选解决方案,但django可以做到这一点,没有汗水。你需要

  1. 配置models.py以匹配您的数据库
  2. 一个接受get请求并根据其内容进行查询的视图。 http://docs.djangoproject.com/en/dev/ref/models/querysets/
  3. 一个模板,用于显示这些查询的结果,并允许您创建视图将解释的请求。
  4. 因为django是一个很好用的框架,所以很容易找到各种条款(谷歌:“django views”,“django models”等)。

答案 3 :(得分:1)

如果你所描述的是你所做的一切,那么我会说Django可能有点矫枉过正。也许首先尝试一个更简单的基本框架,如Cherrypy(请参阅tutorial)来提供简单的页面/表单(您甚至不需要模板,只需自己吐出HTML)。现在您只需要一些代码来读取,过滤和/或分页以及格式化CSV。

答案 4 :(得分:0)

如果你想快速,轻松地将这样的东西放在一起,并且你没有太多的网络开发经验,我认为你最好的选择是web2py。它不需要安装或配置,没有依赖关系,并且包括Web服务器,关系数据库,基于Web的集成开发环境和管理界面(demo),以及jQuery集成(用于Javascript和Ajax)。它是very easy to learn,专为ease of use and developer productivity而设计。由于包含的脚手架应用程序以及许多合理的默认行为,您可以使用非常少的代码完成大量工作。

对于表格/网格显示,您可以使用:

如果您需要帮助入门或有任何疑问,那么您将从非常友好且反应迅速的mailing list获得大量帮助。