如何解决什么是获取以下信息的正确查询
#id | title | series | series_position | author | img_url | object_key | e_tag | page_number
鉴于我具有上面的表格列,从单个查询中获取以下数据顺序的正确查询是什么:
[author1:{
[series1:[{title:title1,series_position:1},{title:title2,series_position:2},{title:title3,series_position:3}]],[series2:[{title:title1,[series3:[{title:title1,series_position:3}]]]
},author2:{
[series1:[{title:title1,series_position:3}]]]
}]
目前我正在做这样的事情:
books = Books.query.order_by(Books.author).all()
authors = sorted(set(book.author for book in books))
之后,我执行类似下面的伪代码的操作,以在Jinja中显示数据:
{%for author is authors%}:
<div id={{author}}>
for book in books
if author in book.author:
<li><a>book.title,book.series,book.series_position</a></li>
</div>
{%endfor%}
下面是上面的jinja代码当前生成前端的图像 下面是表格的图片:
解决方法
这应该给出您想要的数据结构(以字典格式):
import pandas as pd
conn=... #your sql connection to your database here
df=pd.read_sql('select * from Books',conn)
d={}
for i in set(df.author):
d[i]={}
df2=df[df.author==i]
for k in set(df2.series):
d[i][k]=[]
df3=df2[df2.series==k]
for j in range(len(df3)):
d[i][k].append({'title':df3['title'].iloc[j],'series_position':df3['series_position'].iloc[j]})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。