将数据帧导出到csv文件后出现问题。
start = __datetime(startTime)
end = __datetime(endTime)
delta = end - start
durationList.append(delta)
dataFrame = {"Duration": durationList}
outPutFile = pd.DataFrame(dataFrame, columns=["Duration"])
outPutFile.to_csv('Extract data.csv', index=False)
print(outPutFile)
打印结果:
Duration
0 00:00:00.001000
1 00:00:00.002000
2 00:00:00.205000
导出结果:
Duration
0 days 00:00:00.001000000
0 days 00:00:00.002000000
0 days 00:00:00.205000000
我不确定为什么导出数据的格式已经改变,我不想有天数。我试图在excel中重新格式化,但它不起作用。另外,我尝试了.to_pickle(), parse_dates, astype
,但仍然无法解决。
对于开始和结束时间与正则表达式建立,提前谢谢。
答案 0 :(得分:0)
一种解决方案是将您的系列转换为datetime
对象,然后使用pd.Series.dt.strftime
。
CSV文件不是类型敏感的,因此转换为字符串是确保输出采用您期望格式的可靠方法。
df = pd.DataFrame({'Duration': ['00:00:00.001000', '00:00:00.002000', '00:00:00.205000']})
df['Duration'] = pd.to_timedelta(df['Duration'])
df['DurationStr'] = (df['Duration'] + pd.Timestamp('20180101')).dt.strftime('%H:%M:%S:%f')
print(df)
# Duration DurationStr
# 0 00:00:00.001000 00:00:00:001000
# 1 00:00:00.002000 00:00:00:002000
# 2 00:00:00.205000 00:00:00:205000
print(df.dtypes)
# Duration timedelta64[ns]
# DurationStr object
# dtype: object