使用 pandas.Series.to_csv
将时间序列数据写入 csv
文件会将 00:00:00
添加到每个日期索引,即当 csv 文件在另一个应用程序中打开时很烦人。
Date,price
2000-06-01 00:00:00,90.3
2000-06-02 00:00:00,92.69
2000-06-05 00:00:00,96.1
是否有一种干净/Pythonic 的方法可以将日期值写入为日期,而无需额外的 00:00:00
?
更一般地说,pandas
是否可以有一个索引列,该索引列是日期而不是时间戳?
编辑:对于那些可能访问此问题的人,这是我提出的解决方案:
with io.StringIO() as sout:
data.to_csv(sout, header=True, index=True)
with open(fname, 'w') as fout:
fout.write(sout.getvalue().replace(' 00:00:00',''))
最佳答案
在写入 csv 文件之前映射您的系列/数据框:
In [8]: import pandas as pd
In [9]: import datetime
In [10]: s = pd.Series([datetime.datetime.utcnow()])
In [11]: s.map(lambda x:x.date() if isinstance(x, datetime.datetime) else x).to_csv('test.csv')
测试.csv:
0,2013-03-27
关于python - 如何阻止 python pandas 将 "00:00:00"添加到每个日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651527/