我编写了一个片段,从数据库中提取(日期)数据并相应地计算日期的出现次数。但是由于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
输出在这里:
有没有办法可以在计数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()
答案 0 :(得分:0)
在我看来,您可以创建一个附加列表,其中包含从db中所需日期/第一个日期开始的所有日期。
现在,如果你有额外的列表,你就可以在中检查每个列表,如果它在db中,如果在db打印计数中,否则打印0