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

Python新手求助:为数值数据集添加按秒递增的连续时间戳

为数值数据集添加逐秒递增时间戳的Python实现方法

方法一:用Python标准库datetime实现(适合小数据集,易理解)

  1. 把数值数据整理成列表,或从文件读取(假设数据存在data.txt,每行一个数值)
  2. 借助datetime模块生成逐秒递增的时间,和数值配对输出或写入文件。

示例代码:

from datetime import datetime, timedelta

# 从文件读取数据,过滤空行并转为浮点数
with open('data.txt', 'r') as f:
    values = [float(line.strip()) for line in f if line.strip()]

# 定义起始时间
start_time = datetime(2012, 12, 1, 0, 0, 0)

# 遍历生成带时间戳的结果并打印
for idx, val in enumerate(values):
    current_time = start_time + timedelta(seconds=idx)
    print(f"{current_time.strftime('%Y-%m-%d %H:%M:%S')} {val}")

# 若要写入新文件,执行以下代码
with open('output.txt', 'w') as f:
    for idx, val in enumerate(values):
        current_time = start_time + timedelta(seconds=idx)
        f.write(f"{current_time.strftime('%Y-%m-%d %H:%M:%S')} {val}\n")

方法二:用pandas实现(适合大数据量,更高效)

如果数据集规模大,用pandas处理会更简洁快速:

  1. 先安装pandas(未安装则执行pip install pandas)
  2. 读取数据后生成时间序列,合并后输出或保存。

示例代码:

import pandas as pd

# 读取数据,指定列名
df = pd.read_csv('data.txt', header=None, names=['value'])

# 生成从起始时间开始的逐秒时间序列,长度和数据一致
start_time = '2012-12-01 00:00:00'
time_index = pd.date_range(start=start_time, periods=len(df), freq='S')

# 添加时间戳列并调整顺序
df['timestamp'] = time_index
df = df[['timestamp', 'value']]

# 打印结果(不显示索引和表头)
print(df.to_string(index=False, header=False))

# 保存到文件,用空格分隔
df.to_csv('output_pandas.txt', sep=' ', index=False, header=False)

说明

  • 新手可以先从第一种方法入手,理解时间递增的逻辑;数据量较大时优先选第二种方法。
  • 代码已做简单的空行过滤,确保只处理有效数值行。

内容的提问来源于stack exchange,提问作者pranjal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:07:48