Python用pandas导出csv

时间:2018-04-17 08:56:31

标签: python pandas

将数据帧导出到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,但仍然无法解决。 对于开始和结束时间与正则表达式建立,提前谢谢。

1 个答案:

答案 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