我遇到了以下问题:
我有一个包含大量重复数据的列表。这包括条目号和名称。
以下为我提供了Data2014表中人员的唯一(非重复)名称列表:
tablequery = c.execute("SELECT * FROM Data2014")
tablequery_results = list(people2014)
people2014_count = len(tablequery_results)
people2014_list = []
for i in tablequery_results:
if i[1] not in people2014_list:
people2014_list.append(i[1])
people2014_count = len(people2014_list)
# for i in people2014_list:
# print(i)
现在我有一份人员名单。我需要再次遍历tablequery_results,但是,这次我需要找到每个人拥有的唯一条目号的数量。 tablequery_results列表中有大量重复项。如果没有为每个人的姓名创建代码块,有没有办法使用people2014_list中的名称作为唯一标识符来迭代tablequery_results?我可以复制上面的代码给我一个唯一的条目号列表,但我似乎无法将这些名称与唯一的条目号匹配。
如果没有意义,请告诉我。
提前致谢!
答案 0 :(得分:1)
我在深入研究SQL之后发现了我的答案。这给了我一个包含两列的列表。第一列中的人员姓名,然后是第二列中人员的条目数。
def people_data():
data_fetch = c.execute("SELECT person, COUNT(*) AS `NUM` FROM Data2014 WHERE ACTION='UPDATED' GROUP BY Person ORDER BY NUM DESC")
people_field_results = list(data_fetch)
people_field_results_count = len(people_field_results)
for i in people_field_results:
print(i)
print(people_field_results_count)