繁体   English   中英

如何将纪元时间转换为另一种格式并将其保存到 Python 中的 csv 文件中?

[英]How to convert epoch time to another format and save it into csv file in Python?

如何将纪元时间转换为 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

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

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')

我发现了我的错误。 我的 CSV 文件没有标题,因此需要位置。

data.iloc[:,0] = pd.to_datetime(data.iloc[:,0], unit='s')

您需要先将纪元时间转换为日期并将其保存回df,这是代码

df["time_str"] = pd.to_datetime(df["Time_EPOCH"], unit='ms').dt.strftime('%Y-%m-%dT%H:%M:%S.%fZ')

之后,您可以将其保存为 csv 或 json

df.to_csv("your_file_name")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM