【问题标题】:Split Results of aggregation query and insert into 2-dimensional array拆分聚合查询的结果并插入二维数组
【发布时间】:2019-11-20 20:33:50
【问题描述】:

我有一个汇总查询,汇总了男性和女性的销售数量。 print(genderSales) 的结果是[(7,), (14,)]

我正在尝试将 7 和 14 插入到定义为性别的二维数组中。追加后的性别数组是这样的

[['(7,)', '(14,)'], ['(7,)', '(14,)']]

有没有一种方法可以拆分聚合结果,以便在二维数组中显示结果,如下所示:

[['(7,)]', ['(14,)']].
conn=sqlite3.connect("system.db")
cur=conn.cursor()
genderSales = cur.execute("""select COUNT(orderid) as OrderCount
FROM customerOrders
INNER JOIN customerDetails ON
customerDetails.customerid=customerOrders.customerid
GROUP BY customerDetails.gender""").fetchall()

gender = [[],[]]
    for values in genderSales:
        gender[0].append(values)
        gender[1].append(values)

【问题讨论】:

  • 你为什么要把你的元组变成字符串?

标签: python arrays python-3.x data-structures


【解决方案1】:

您将所有行附加到gender 的每个元素。您应该只在每次迭代中附加到一个元素。您可以使用列表推导来完成所有工作。

gender = [[row] for row in genderSales]

顺便说一句,您应该在查询中包含ORDER BY customerDetails.gender,这样您才能以一致、可预测的顺序获得结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2014-10-22
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多