如何在Excel中从仅含年份与小时数的数据集生成日期时间?
解决方案
用Python处理
直接借助Python的datetime模块就能解决,步骤清晰明了:
- 读取数据集(假设是每行含年份和小时数的文本文件)
- 拆分每行的年份与小时序号(均转为整数)
- 以目标年份的1月1日00:00为起始点,加上
小时序号-1小时的偏移量(因为第1小时对应00h00,第2小时对应01h00) - 格式化为要求的字符串格式,同时保留原生datetime类型供后续使用
示例代码:
from datetime import datetime, timedelta # 读取数据文件,这里假设文件名为data.txt with open('data.txt', 'r') as f: for line in f: line = line.strip() if not line: continue year, hour_num = map(int, line.split()) # 生成该年的起始时间:1月1日00:00 start_dt = datetime(year, 1, 1, 0, 0) # 计算目标日期时间 target_dt = start_dt + timedelta(hours=hour_num - 1) # 格式化为指定字符串 formatted_str = target_dt.strftime("%Y/%m/%d %Hh%M") print(formatted_str) # 若需直接使用日期时间类型,直接用target_dt即可
用Excel处理
如果习惯用Excel操作,一行公式就能搞定:
假设年份在A列,小时序号在B列,在C列单元格输入公式:
=DATE(A1,1,1) + (B1-1)/24
然后选中C列,右键选择「设置单元格格式」→「自定义」,在类型框输入 yyyy/mm/dd hh"h"mm,就能得到符合要求的显示格式,且单元格内容本身是日期时间类型,可直接用于日期计算。
内容的提问来源于stack exchange,提问作者Wout Vanheusden
相关产品推荐
相关产品推荐

