【每日一练】Python对日期范围自动补充(个人需求,不算题目)

今天在过需求时,遇到一个小需求,大致内容如下:

1、如列表 a = ['2.12-2.13', 0.449, 68.0, 25.0]

自动改写,形式:

[['2.12', 0.449, 68.0, 25.0], 
['2.13', 0.449, 68.0, 25.0]]

分析1:

也就是说列表的第一个元素【2.12-1.13】,表示一个一个范围,我们生成的列表能够自动补充其范围内的日期

分析2:

如: ['1.27-2.1', 0.449, 77.0, 25.0],需要考虑跨月的情况

[['1.27', 0.449, 77.0, 25.0], 
['1.28', 0.449, 77.0, 25.0], 
['1.29', 0.449, 77.0, 25.0], 
['1.30', 0.449, 77.0, 25.0],
['1.31', 0.449, 77.0, 25.0],
['2.1', 0.449, 77.0, 25.0]]

下面将会分享完整的代码,分享之前,大家感兴趣的可以当成一道小题目,自己尝试一下

from datetime import datetime, timedelta

def all_data_range(data):
    date_range = data[0]

    start_date_str, end_date_str = date_range.split('-')

    start_date = datetime.strptime(start_date_str, '%m.%d')
    end_date = datetime.strptime(end_date_str, '%m.%d')

    delta = end_date - start_date

    result = []
    for i in range(delta.days + 1):
        date = start_date + timedelta(days=i)
        date_str = f"{date.month}.{date.day}"
        result.append([date_str, data[1], data[2], data[3]])
    print(result)
    return  result
    # for r in result:
    #     print(r)
all_data_range(['1.27-2.5', 0.449, 77.0, 25.0])

希望对大家有帮助

致力于办公自动化的小小程序员一枚#

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一晌小贪欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值