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

如何在Python中提取CSV内Unix时间戳的秒级微秒精度值?

Python提取Unix时间戳中的带微秒精度的秒数值

单条时间戳处理(基础方法)

如果只是验证单条时间戳的转换逻辑,直接用Python标准库的datetime模块即可:

import datetime

ts = 1666181576.26295
dt = datetime.datetime.fromtimestamp(ts)
# 拼接秒的整数部分与微秒转成的小数部分
sec_with_micro = dt.second + dt.microsecond / 1000000
print(sec_with_micro)  # 输出 76.262950

核心逻辑:Unix时间戳的小数部分对应微秒(1秒=1000000微秒),通过datetime对象的second属性获取秒的整数部分,microsecond属性获取微秒数,除以1e6转成小数后与整数部分相加,就能得到带微秒精度的秒数值。

批量处理CSV文件(高效方案)

处理1000条数据用pandas更高效,步骤如下:

import pandas as pd

# 读取CSV文件(假设时间戳列名为`timestamp`)
df = pd.read_csv("your_file.csv")

# 先确保时间戳是浮点数(若CSV中存为字符串则执行此步)
df['timestamp'] = df['timestamp'].astype(float)

# 将时间戳列转换为datetime类型,保留微秒精度
df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')

# 计算带微秒的秒数值
df['sec_with_micro'] = df['datetime'].dt.second + df['datetime'].dt.microsecond / 1000000

# 导出仅含秒数值的CSV(按需选择)
df['sec_with_micro'].to_csv("seconds_only.csv", index=False)

注意事项

  • 默认使用本地时区转换,若需UTC时区,分别替换为datetime.datetime.utcfromtimestamp(ts)(单条处理)和pd.to_datetime(df['timestamp'], unit='s', utc=True)(批量处理)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:40:38