Python Pandas\u Excel更改格式和数据类型
我有来自sql的数据框架 日期列不是我可以处理的列。因此,我需要更改格式,如“%d.%m.%t%H:%m”。当我尝试更改格式时:Python Pandas\u Excel更改格式和数据类型,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我有来自sql的数据框架 日期列不是我可以处理的列。因此,我需要更改格式,如“%d.%m.%t%H:%m”。当我尝试更改格式时: df3["ACT_START_DATE"]=pd.to_datetime(df3["ACT_START_DATE"]) df3["ACT_START_DATE"]=df3["ACT_START_DATE"].dt.strftime("%d.%m.%Y %H:%m")
df3["ACT_START_DATE"]=pd.to_datetime(df3["ACT_START_DATE"])
df3["ACT_START_DATE"]=df3["ACT_START_DATE"].dt.strftime("%d.%m.%Y %H:%m")
结果
1-为什么时间会改变
2-除了小时更改之外,是否还有其他方法可以同时更改所有日期列
提前谢谢。由于格式错误,“分钟”部分正在更改
请注意格式:%d.%m.%Y%H:%m
%m
实际上是月份因此,不是导出分钟,而是在那里导出月份值 将其更改为
%d.%m.%Y%H:%m:%S
,您会没事的(请注意,差异是资本M与小M) 至于更改多个列,您只需使用
my_df[['column1','column2']] =
my_df[['column1','column2']].apply(pd.to_datetime, format='%d.%m.%Y %H:%M%S')
或者按照您喜欢的思路做一些事情首先,感谢您的回复。但给出了ValueError:(“时间数据'2019-12-29 08:00:00'与格式'%d.%m.%Y%H:%m'(匹配),'发生在索引开始日期')错误是自解释的。您可以看到数据是“2019-12-29 08:00:00”,格式是“%d.%m.%Y%H:%m”,因此很明显它缺少“seconds”参数。因此,只需更改格式以包含如下秒:
%d.%m.%Y%H:%m:%S
。我已经更新了答案,但仍然有错误。它希望我将格式写入源“%Y-%m-%d…”,然后使用dt.strftime(格式),但apply方法不起作用。另一个问题是,如果值为空或null,则返回“NaT”。日期在Excel中显示为字符串还是日期类型?在Excel中显示为“常规”