Datetime 读取KDB格式的纳秒时间戳并将其转换为熊猫

Datetime 读取KDB格式的纳秒时间戳并将其转换为熊猫,datetime,pandas,kdb,Datetime,Pandas,Kdb,请查看此CSV摘录 Serial Datetime Value 1 2016-09-29D09:15:01.742144000 5.78 2 2016-09-29D09:15:01.742190000 5.78 3 2016-09-29D09:15:01.742222000 5.78 4 2016-09-29D09:15:01.747254000 5.78 我需要在第2列中读取dat

请查看此CSV摘录

Serial  Datetime                        Value
1       2016-09-29D09:15:01.742144000   5.78
2       2016-09-29D09:15:01.742190000   5.78
3       2016-09-29D09:15:01.742222000   5.78
4       2016-09-29D09:15:01.747254000   5.78
我需要在第2列中读取datetime和纳秒格式,如上所示。使用下面的代码没有运气

import numpy as np
import pandas as pd
from pandas_datareader import data as web
import matplotlib.pyplot as plt
data = np.loadtxt("gnca.csv", dtype="int,|S30,|float", delimiter = ",")
date_parser=lambda x: pd.to_datetime(x, format="%Y%m%d %H%M%SS")
在上面的最后一行中,我甚至不知道如何指定纳秒的格式。还要注意,上面显示的datetime直接来自KDB,在日期和时间之间具有特征“D”


非常感谢您的任何想法

IIUC您可以这样做:

df = pd.read_csv(file_name, skipinitialspace=True)
df.Datetime = pd.to_datetime(df.Datetime, format='%Y-%m-%dD%H:%M:%S.%f')

In [81]: df
Out[81]:
   Serial                   Datetime  Value
0       1 2016-09-29 09:15:01.742144   5.78
1       2 2016-09-29 09:15:01.742190   5.78
2       3 2016-09-29 09:15:01.742222   5.78
3       4 2016-09-29 09:15:01.747254   5.78

In [82]: df.dtypes
Out[82]:
Serial               int64
Datetime    datetime64[ns]
Value              float64
dtype: object