需要基于python的解决方案来显示基于web的表格数据吗

需要基于python的解决方案来显示基于web的表格数据吗,python,tabular,Python,Tabular,我需要将表格数据结构(制表符分隔的文本文件)作为基于web的解决方案查看。我是一名生物信息学程序员,几乎没有基于web的开发经验。我知道django在python社区非常热门,但在我继续购买一本关于django的书之前,我想在这里问一下。你会选择什么技术来完成这样的事情。 我需要显示一个包含40-50列和100.000行的表,并希望用户能够根据某些数据项过滤数据(即仅显示某列中具有特定值的行,仅显示周一记录的数据,并隐藏所有其他工作日) 我很抱歉,如果这个问题太模糊或愚蠢,但我真的需要一些基本的

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

我很抱歉,如果这个问题太模糊或愚蠢,但我真的需要一些基本的指导。
谢谢你,我可以很容易地做到这一点。

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

它加载x行数,这样您就不必每次加载100000行,而只是用户看到的。此外,过滤器等内置以及许多其他功能

其他做类似事情的javascript框架是YUI,我认为JQuery的作用较小

编辑/详细说明

很明显,这里不是初学者速成班的地方,但在我看来,有几件事你需要做和知道

首先创建一个django视图,返回一个。(如果这句话没有什么意义,我建议略过Django…实际上,你可能无论如何都应该这样做)Python有方法将数据类型(如dictionary/csv(在你的例子中,我猜是TSV lol))转换为这种格式。然后,当你有了这个(可以被一个url指向…当你深入Django时,它会更有意义),然后你创建ExtJS网格并将它指向那个url

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


不幸的是,我自己没有任何例子可以展示给大家,但是关于这方面有大量的资源,我不会费心去买一本书,我认为这可以很容易地在没有JavaScript的情况下完成。neolaser所概述的也是我首选的解决方案,但django可以毫不费力地做到这一点。你需要

  • 将models.py配置为与数据库匹配
  • 接受get请求并根据其内容进行查询的视图
  • 显示这些查询结果并允许您发出get请求的模板,视图将对其进行解释

  • 因为django是一个使用非常广泛的框架,所以很容易找到各种术语(谷歌:“django视图”、“django模型”等)的详细说明。

    如果你所描述的就是你所做的一切,那么我认为django可能有些过火了。也许首先尝试一个更简单的基本框架,比如Cherrypy(请参阅),为您的简单页面/表单提供服务(您甚至不需要模板,只需自己回写HTML即可)。现在,您所需要的只是一点代码来阅读、筛选和/或页面,并格式化您的CSV。

    如果您想快速轻松地将类似的内容组合在一起,并且您没有太多的web开发经验,我认为您最好的选择是。它不需要安装或配置,没有依赖项,包括一个web服务器、一个关系数据库、一个基于web的集成开发环境和管理界面(),以及jQuery集成(用于Javascript和Ajax)。它的设计是为了。由于附带的脚手架应用程序以及许多合理的默认行为,您可以用很少的代码完成很多工作

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

    • 的web2py插件
    • ()-一个用于

    如果您在入门时需要帮助或有任何问题,您将从非常友好且反应迅速的网站获得大量帮助。

    请详细说明您的答案,以便我进行一些有针对性的阅读。是的,我认为javascript当然是有意义的,我很想了解更多关于您使用javascript的经验。你能详细说明你的答案吗?这样我就可以有针对性地阅读。问题是在这之后我可能不会使用javascript和django,所以我真的很想得到实现这一点的绝对必要条件。我希望这是你想要的…如果不是的话,很抱歉:)说到书籍,我认为这是一个非常有用的资源,尽管有时你的权利有点过时,这可以单独用django完成,老实说,可能更快更容易。我认为加载100000多行很难滚动,而且开销很大。但话说回来,我想你可以分页并拥有全套搜索/过滤功能…是的,我实际上已经开始为他编写切片语法(mymodel.objects.all()[:99],我想),但我看到了你的评论“显然这里不是初学者速成班的地方”,我不确定什么是合适的。而且,我想我的分数不足以回答tim的答案,但在查看cherrypy之后,我倾向于认为他的解决方案是最简单/最好的。是的,我以前没有使用cherrypy,看起来可能更好/更简单。我想这取决于长期目标。。。不管怎样,我要测试一下,哈哈