提问者:小点点

使用python的日期时间格式


我正在制作一个包含以下栏目的excel文件:-

DF1

Number     Dateopened      Status          Date closed            Work

 1      2019-10-30 10.10    Open           2019-10-30 12.10       walking
 2      2019-9-30  11.10    Open           2019-9-31 12.10        cycling
 3      2019-5-30 10.10     Closed         2019-5-30 12.10        nothing
 4      2019-4-30 10.10     Open           2019-4-30 12.10        walking

我可以使用以下代码更改日期格式:-

df1['Dateopened'] = pd.to_datetime(df1['Dateopened']).dt.strftime("%b %d,%Y - %I:%M%p")
df1['Date closed'] = pd.to_datetime(df1['Date closed']).dt.strftime("%b %d,%Y - %I:%M%p")

在我的代码中,我需要手动输入列的名称。我可以做些什么来让python代码本身搜索这些列并修改数据格式。


共3个答案

匿名用户

您还可以检查列名:

for col in df1.columns:
    if col.lower().startswith("date"):
        df1[col] = pd.to_datetime(df1[col]).dt.strftime("%b %d,%Y - %I:%M%p")

匿名用户

可以使用regex检测存在日期字段的列。

\d*[-]\d*[-]\d*.*可以帮助您检测日期部分,假设列以日期开头。 可以在数据框架的一行上应用正则表达式,并筛选正则表达式匹配的列。

匿名用户

如果包含日期的所有列都采用特定格式,则可以考虑使用正则表达式。 解决方案如下所示:

toModify = []
for column in df:
    if(re.match(pattern, column)):
        toModify.append(column)

然后您就有了所有需要修改的列名。 迭代它。