如何将pd.date_range生成的小时级日期按年/月/日/时列导出至Excel?
解决方法
你可以利用Pandas的dt属性直接从日期时间序列中提取年、月、日、时信息,转换成普通数值列后再导出Excel,就不会出现长数字问题了。完整代码如下:
import pandas as pd # 生成2021年全年小时级日期序列 a = pd.date_range(start='1/1/2021', end='01/01/2022', freq='h') # 将日期序列转为DataFrame,方便后续处理 df = pd.DataFrame({'原始日期': a}) # 拆分出年、月、日、时四列 df['年'] = df['原始日期'].dt.year df['月'] = df['原始日期'].dt.month df['日'] = df['原始日期'].dt.day df['时'] = df['原始日期'].dt.hour # 导出到Excel,若不需要原始日期列,可添加.drop('原始日期', axis=1) df.to_excel('2021年小时级日期拆分结果.xlsx', index=False)
补充说明
导出Excel时出现长数字,是因为Pandas的datetime类型会被Excel解析为日期序列号(代表从1900年1月1日起的累计时长),拆分后的年、月、日、时是独立的数值列,导出后会直接显示对应数字。
内容的提问来源于stack exchange,提问作者MONtana9999
相关产品推荐
相关产品推荐

