如何移除Pandas输出HTML时DataFrame Time列时间格式尾部的:00
解决pandas读取Excel时间列输出时尾部补全:00的问题
pandas读取Excel中hh:mm格式的时间列时,默认会解析为带秒精度的datetime类型,调用to_html输出时会自动补全:00作为秒位值,可通过以下两种常用方案处理:
- 方案1:读取后直接格式化时间列为HH:MM格式字符串
import pandas as pd df = pd.read_excel("你的文件路径.xlsx") # 格式化Time列,移除秒位 df["Time"] = df["Time"].dt.strftime("%H:%M") # 输出HTML,index=False可选,用于隐藏输出的索引列 html_content = df.to_html(index=False)
- 方案2:保留时间类型,仅在输出HTML时临时指定格式
该方案不会修改原始DataFrame的列数据类型,适合需要后续对时间列做计算的场景:
import pandas as pd df = pd.read_excel("你的文件路径.xlsx") html_content = df.to_html( # 仅格式化Time列的输出 formatters={"Time": lambda t: t.strftime("%H:%M")}, index=False )
如果读取后Time列被识别为字符串而非时间类型,可先转时间类型再格式化:
df["Time"] = pd.to_datetime(df["Time"]).dt.strftime("%H:%M")
内容的提问来源于stack exchange,提问作者Sherman Chen
相关产品推荐
相关产品推荐

