我的.csv
样子是这样的:
date time
0 20190101 181555700
1 20190101 181545515
其中,格式是YYYYMMDD
为date
与HHMMSSMMM
对time
(MMM最后是毫秒)。例如,第一行是2019-01-01 18:15:55.700
有没有一种方法可以直接从其中解析pd.read_csv()
而不必稍后进行转换?仅使用parse_dates
不起作用,因为它无法识别格式。我想要的是在我的数据框中有一个单独的列,时间戳正确地解析为
timestamp
0 2019-01-01 18:15:55.700
我认为这接近您的需求:
import pandas as pd
import datetime as dt
data = pd.read_csv(
'./a.csv',
delimiter='\t',
index_col=0,
parse_dates=[1],
converters={'time': lambda t: dt.datetime.strptime(t, '%H%M%S%f').time()}
)
输出:
date time
0 2019-01-01 18:15:55.700000
1 2019-01-01 18:15:45.515000
经过一些调查,我发现:
data = pd.read_csv(
'./a.csv',
delimiter='\t',
index_col=1,
parse_dates={'datetime': [1, 2]},
converters={'time': lambda t: dt.datetime.strptime(t, '%H%M%S%f').time()}
)
输出为:
datetime
0 2019-01-01 18:15:55.700
1 2019-01-01 18:15:45.515
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句