【发布时间】:2018-07-14 03:53:18
【问题描述】:
我有一个表格,其中一个列的条目有不同的日期(星期一、星期二、星期三等),我想按天组织我的表格,以便该列的星期一的行首先跟随剩下的日子。
我目前的功能是:
import sqlite3
from tabulate import tabulate
conn = sqlite3.connect("Table.db")
c = conn.cursor()
def order_by_day():
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
with conn:
for i in days:
data = c.execute("SELECT * FROM Table_name WHERE Day_column=?", (i,))
print(tabulate(data, headers="keys", tablefmt="grid", stralign='center', numalign='center'))
此函数有效,但它为一周中的每一天创建 7 个单独的表,而不是一个表(print(tabulate()) 函数使表整洁有序,而不是如果我使用 fetchall(),所以我的表看起来像以下)。
+--------+---------------+-------------+
| Col1 | Col2 | Day_column |
+========+===============+=============+
有什么方法可以修改我的函数,以便它创建一个包含我所有按天组织的数据的表,而不是每天创建 7 个单独的表?
【问题讨论】:
-
你的意思是
tabulate函数? -
您应该修改您的 sql 查询,使其不仅仅选择特定日期。那么你就不需要
for i in days:循环
标签: python python-3.x sqlite