假设我有一个包含带有
pandas.Timestamp
对象的列的 DataFrame,如下所示:
pandas.Timestamp('2019-12-10T17:16:49.467000000')
如何指定
date_format
函数的 pandas.DataFrame.to_csv
参数以毫秒而不是微秒接收 CSV 文件?
我试过这样:
df.to_csv('!test.csv', sep='\t', index=False, date_format='%d.%m.%Y %H:%M:%S.%f')
但它给出的字符串是这样的:
10.12.2019 17:16:49.467000
我需要这样的字符串:
10.12.2019 17:16:49.467
您不能直接使用,但您可以在导出之前对列进行预处理:
def dt_to_str(s):
if pd.api.types.is_datetime64_dtype(s):
return s.dt.strftime('%d.%m.%Y %H:%M:%S.%f').str[:-3]
return s
df.apply(dt_to_str).to_csv('!test.csv', sep='\t', index=False)
输出:
num date
1 10.12.2019 17:16:49.467