首页 > 解决方案 > 如何将纪元时间转换为另一种格式并将其保存到 Python 中的 csv 文件中?

问题描述

如何将纪元时间转换为格式 yyyy-mm-dd hh:mm:ss。在“test_file.csv”的第一列有纪元数据?另外两列只是数字。然后我想平均每 5 行。我将平均数据保存在“averaged_test_file.csv”中。我想以所需的格式而不是“Time_EPOCH”或旁边保存时间。我的Python代码如下:

import pandas as pd

# skip rows due to proper averaging (lost first 5 lines)
df = pd.read_csv("test_file.csv", usecols=[0,1,2], skiprows=range(1,5))

df1=df.groupby(df.index // 5).mean()
df1.to_csv("averaged_test_file.csv", header=['Time_EPOCH', 'No', 'ADC1'], index=False)

CSV数据如下:1603883355.156924,1.0,43.0 1603883355.456939,2.0,36.0 1603883355.756704,3.0,33.0

标签: pythonpandascsvdate

解决方案


您可以使用以下命令将列从纪元时间重新格式化为日期时间格式:

df['date time'] = pd.to_datetime(df['epoch time'], unit='s')

之后,您可以使用to_csv方法的 'date_format' 参数导出此日期列。

df.to_csv("averaged_test_file.csv", date_format='%Y-%m-%d %H:%M:%S')

推荐阅读