在Counter,Python中添加0计数值

时间:2018-02-17 05:50:12

标签: python

我编写了一个片段,从数据库中提取(日期)数据并相应地计算日期的出现次数。但是由于Db中的数据不一致,因此某些日期不存在。我的代码如下:

import MySQLdb
import sys
import matplotlib.pyplot as plt
from collections import Counter, OrderedDict

connection = MySQLdb.connect ()

cursor = connection.cursor ()

cursor.execute ()

#fetch all of the rows from the query
data = cursor.fetchall()
ddt =  sorted(set(data))

coll = Counter(data)
orddict = OrderedDict(sorted(coll.items()))# Sorts the dates in order
print orddict 

输出在这里:

enter image description here

有没有办法可以在计数0之间获取(打印)缺少的日期?

编辑1:我尝试按顺序打印日期列表但是,代码仅打印今天的日期。代码如下:

def dert():
    d1 = date(2017, 07, 15)  # start date
    d2 = datetime.date.today()  # end date
    delta = d2 - d1         # timedelta 
    for i in range(delta.days + 1):
        x = (d1 + timedelta(days= i))
    return  x 
print dert()

1 个答案:

答案 0 :(得分:0)

在我看来,您可以创建一个附加列表,其中包含从db中所需日期/第一个日期开始的所有日期。

现在,如果你有额外的列表,你就可以在中检查每个列表,如果它在db中,如果在db打印计数中,否则打印0