You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的Pandas合并Excel列并转换为指定时间格式

使用Pandas处理无表头Excel并合并转换时间格式

以下是实现需求的具体步骤和代码:

1. 读取无表头Excel数据

用pandas.read_excel读取文件,通过header=None参数明确告知Pandas这是无表头数据。假设你的Excel前4列依次是日、月、年、带小数的时间值(对应示例里的25、11、2020、12.5),可以临时给列命名方便后续操作:

import pandas as pd

# 替换成你的Excel文件路径
df = pd.read_excel("your_data.xlsx", header=None)
# 临时命名列,按需调整顺序
df.columns = ["day", "month", "year", "time_decimal"]

2. 把小数时间转成HH:MM:SS格式

对于time_decimal列的数值(比如12.5),逻辑是:

  • 整数部分直接作为小时
  • 小数部分乘以60得到分钟(0.5*60=30)
  • 秒固定为0

用apply实现格式化:

# 提取小时和分钟
df["hour"] = df["time_decimal"].astype(int)
df["minute"] = ((df["time_decimal"] - df["hour"]) * 60).astype(int)
# 格式化为两位数字的时分秒
df["time_formatted"] = df.apply(lambda row: f"{row['hour']:02d}:{row['minute']:02d}:00", axis=1)

3. 合并日期和时间为目标格式

把日、月、年拼接成DD-MM-YYYY,再和格式化后的时间组合成最终的字符串:

# 格式化日期部分
df["date_formatted"] = df.apply(lambda row: f"{row['day']:02d}-{row['month']:02d}-{row['year']}", axis=1)
# 合并日期和时间
df["full_datetime"] = df["date_formatted"] + ":" + df["time_formatted"]

完整可运行代码

import pandas as pd

# 读取无表头数据
df = pd.read_excel("your_data.xlsx", header=None)
df.columns = ["day", "month", "year", "time_decimal"]

# 处理小数时间
df["hour"] = df["time_decimal"].astype(int)
df["minute"] = ((df["time_decimal"] - df["hour"]) * 60).astype(int)
df["time_formatted"] = df.apply(lambda row: f"{row['hour']:02d}:{row['minute']:02d}:00", axis=1)

# 合并日期时间
df["date_formatted"] = df.apply(lambda row: f"{row['day']:02d}-{row['month']:02d}-{row['year']}", axis=1)
df["full_datetime"] = df["date_formatted"] + ":" + df["time_formatted"]

# 输出结果或保存
print(df["full_datetime"])
# df.to_excel("processed_data.xlsx", index=False)  # 保存到新文件

关键细节说明

  • 如果你的列顺序不是日、月、年,一定要调整df.columns的对应关系,否则会出错。
  • :02d格式确保日、月、小时、分钟都是两位数字(比如5变成05,避免出现"5-11-2020:9:30:00"这种不统一的格式)。
  • 即使时间是更精确的小数(比如12.25=12:15:00),代码依然能正确转换,因为0.25*60=15。

内容的提问来源于stack exchange,提问作者Adithiy R Nair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 04:18:22