如何生成一系列yyyymm值?

克里斯·斯诺

我有两个yyyymm值,将由用户输入:

yyyymm_1 = '201406'
yyyymm_2 = '201501'

我希望能够以递增的月份顺序遍历此范围:

for yyyy and mm in the range of yyyymm_1 to yyyymm_2
    my_function( yyyy, mm )

如何在python中完成?


更新:

理想情况下,解决方案应尽可能简单,而无需外部库。我不是在寻找通用的日期处理解决方案,而是在回答我上面提出的特定问题的解决方案。

在发布问题之前,我已经看到了许多通用的解决方案。但是,作为python noob,看不到如何使它们适应我的问题:

关于这一点,与此页面链接的其他问题更为通用。如果您希望生成一系列yyyymm值,请您在此页面上查看选定的答案。

tobias_k

这是另一个非常简单的变体,甚至没有使用datetime只需拆分日期,计算“总计月份”,然后进行迭代。

def to_month(yyyymm):
    y, m = int(yyyymm[:4]), int(yyyymm[4:])
    return y * 12 + m

def iter_months(start, end):
    for month in range(to_month(start), to_month(end) + 1):
        y, m = divmod(month-1, 12)  # ugly fix to compensate
        yield y, m + 1              # for 12 % 12 == 0

for y, m in iter_months('201406', '201501'):
    print y, m

输出:

2014 6
2014 7
...
2014 12
2015 1

对于相同yyyymm格式的输出,请使用print("%d%02d" % (y, m))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何生成一系列yyyymm值?

来自分类Dev

如何使单个联接值与一系列值匹配

来自分类Dev

如何从一系列图像生成PDF?

来自分类Dev

Lucene如何过滤一系列连续值

来自分类Dev

如何从数组中删除一系列值?

来自分类Dev

如何按熊猫中的一系列值分组?

来自分类Dev

Lucene如何过滤一系列连续值

来自分类Dev

如何消除变化很大的一系列值

来自分类Dev

如何从python的列表中获取一系列值?

来自分类Dev

如何根据一系列值“扩展” IQueryable 结果?

来自分类Dev

如何打印数组中的一系列值?

来自分类Dev

ggplot:生成一系列直方图

来自分类Dev

Postgres生成一系列列

来自分类Dev

如何根据vba中的单元格值生成一系列数字并水平显示结果?

来自分类Dev

如何遍历一系列结构

来自分类Dev

如何制作一系列句子?

来自分类Dev

如何打印一系列纸张?

来自分类Dev

如何测试一系列互动?

来自分类Dev

如何制作一系列物品

来自分类Dev

如何串联一系列细胞

来自分类Dev

如何减少一系列if语句?

来自分类Dev

生成值的数据框,该值在一系列范围内

来自分类Dev

如何以一系列精度对大熊猫系列值取整?

来自分类Dev

如何将一个数组中的一系列值除以另一个数组中的一系列值

来自分类Dev

通过恒定的浮点值生成一系列递增的数字

来自分类Dev

sql从一系列位值中生成几何序列

来自分类Dev

通过恒定的浮点值生成一系列递增的数字

来自分类Dev

Excel VBA:生成一系列值的所有组合

来自分类Dev

如何用一系列值替换Python词典的所有值?