在SQLite或Python中聚合

用户名

假设我有一个包含文章标题,作者和发布日期的表,我检索了7月1日之后发布的所有文章,但现在我不想遍历所有文章标题而不是逐一遍历每天发表的文章,构建此列表的最佳方式和最佳方式是什么。可以在sqlite查询中完成吗?

编辑:我实际上没有在sqlite3中有文章的表格,但让我们假设我有。并假设该表articles的组织方式为:

title TEXT, author TEXT, publisher TEXT, date DATETIME

文章可以这样获取:

cursor.execute("SELECT * FROM articles where date > ?", \ 
(datetime.datetime(2014, 07, 01),))

并可以按(按照以下Holdenweb的答案)分组:

itertools.groupby(cursor.fetchall(),lambda x:datetime.strptime(x [3],'%Y-%m-%d%H:%M:%S.%f')。day)

这将给出一个元组(天,组),并且可以按以下描述的方式进行迭代。

Holdenweb

通常,SQL查询将仅返回一组行。

假设您已经检索了游标中想要的所有行curs,并假设结果行各由组成,(header, author, pub_date)并且您已按pub_date的升序对SQL中的数据进行了排序。

使用itertools.groupby()它很容易定义一个返回pub_date列的键函数(lambda r: r[2]请注意)。然后,您可以遍历groupby()结果,结果是一系列(key_value, group)元组,其中key_value将采用列的连续唯一值,pub_date并且group将成为迭代器,产生与该键值关联的连续行。尝试类似的东西

for key_val, group in itertools.groupby(curs.fetchall(), lambda r: r[2]):
    print key_val
    for item in group:
        print "\t", item

验证是否可以按需工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列出python中的聚合

来自分类Dev

Python中列表的聚合

来自分类Dev

列出python中的聚合

来自分类Dev

如何从SQLite中的聚合函数返回关系

来自分类Dev

python中的组成和聚合

来自分类Dev

python中聚合的计算差异

来自分类Dev

Python中的聚合和排序

来自分类Dev

在Python熊猫中聚合DataFrame?

来自分类Dev

python中的组成和聚合

来自分类Dev

从列表中聚合多行 - Python

来自分类Dev

在sqlite3中聚合存储为json的列表

来自分类Dev

Python Pandas中DataFrame中的值聚合?

来自分类Dev

SQLite:多个聚合列

来自分类Dev

SQLite:多个聚合列

来自分类Dev

Python中的自定义聚合函数

来自分类Dev

聚合Python中的唯一值

来自分类Dev

Python Pandas中DataFrame的复杂聚合?

来自分类Dev

在 Pandas python 中聚合数据

来自分类Dev

如何在python中聚合元组列表?

来自分类Dev

SQLITE Python中的变量

来自分类Dev

Python Pandas中的DataFrame中的多索引难于聚合?

来自分类Dev

python中的groupd groupby中的不同聚合

来自分类Dev

在 Python 中的数据帧中聚合特定 ID 的值

来自分类Dev

在 SQL 中创建分类字典并在 Python 中聚合它们

来自分类Dev

分组聚合中的限制聚合

来自分类Dev

在python中插入SQLite主键

来自分类Dev

Python中SQLite的NoSQL替代

来自分类Dev

如何在Python中访问聚合函数的值

来自分类Dev

使用python聚合elasticsearch-dsl中的字段