如何在ddmmyyyy格式中将日期解释为3 12而不是31 2

2024-09-29 01:24:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的日期格式以11122020(ddmmyyyy)格式出现在pandas列中

我用

datapdf["wholetime"]=pd.to_datetime(datapdf["wholetime"],format='%d%m%Y)  

转换为时间并按时间进行处理

最近,我的代码因日期312020而失败

ValueError: day is out of range for month

python将其解释为312020,而不是导致错误的312020。有人能解决这个问题吗


Tags: to代码formatpandasdatetimeis格式时间
3条回答

如果它们之间共享了大量的局部变量,那么创建一个私有类将它们存储在一起可能是有意义的,甚至可以执行以下操作:

MyReport report = new MyReport(); // or MyReport.doCreateReport(); if it makes more sense
report.send();
report.warnIfErrors();

再一次,这真的取决于函数当前是否足够大,以保证这样的事情

如果你可以把这些常用变量作为参数传递,而不需要大量的参数列表,那么就这样做吧

  1. 不用创建变量类字段,只需参数化函数并传递值即可。这还有另一个很大的优势,即您的代码现在将变得更易于单元测试。我一直提倡让每种方法在UT中尽可能独立
  2. 如果你当时把名字改为checkAndCreateReport,你还会这样想吗:)
  1. 还可以将所需的数据作为参数传递给方法
  2. 我会在调用方法之前进行检查。如果一个方法被称为doCreateReport,它实际上应该做到这一点

相关问题 更多 >