Python 如何使用pandas.read\u csv将非字符串列解析为datetime

Python 如何使用pandas.read\u csv将非字符串列解析为datetime,python,pandas,datetime,Python,Pandas,Datetime,我的问题是:我有一个.csv文件,如下所示: TS,secs,degC,Pa,V,V,V,V,V,degC,% 2019-08-29 15:29:02.000,0.000,23.21,97707.95,2.37942,4.06958,1.16183,2.06545,2.16861,22.70,53.70, 2019-08-29 15:29:04.000,2.001,23.22,98000.81,2.30359,4.04178,1.15457,2.06375,2.16660,22.70,54.00

我的问题是:我有一个
.csv
文件,如下所示:

TS,secs,degC,Pa,V,V,V,V,V,degC,%
2019-08-29 15:29:02.000,0.000,23.21,97707.95,2.37942,4.06958,1.16183,2.06545,2.16861,22.70,53.70,
2019-08-29 15:29:04.000,2.001,23.22,98000.81,2.30359,4.04178,1.15457,2.06375,2.16660,22.70,54.00,
我想做的是将第一列
TS
解析为datetime,但在我的
.csv
文件中,第一列不是字符串。我尝试的代码如下:

DATA = pd.read_csv('file.csv',sep=',',parse_dates=[0])
但我得到的错误是:

TypeError: 'NoneType' object has no attribute '__getitem__'
有没有办法使用pandas.read\u csv将不带
的列解析为日期时间?我也对其他方法持开放态度,但最终的结果应该是一个pandas数据框架,第一列为datetime格式


提前感谢您。

只需更改输入数据就可以了 (删除结尾处的逗号。)

数据:

如下所述:

df=pd.read_csv('file.csv', parse_dates=['TS'])
df.dtypes
提供所需的输出

TS        datetime64[ns]
secs             float64
degC             float64
Pa               float64
V                float64
V.1              float64
V.2              float64
V.3              float64
V.4              float64
degC.1           float64
%                float64
dtype: object

只需更改输入数据即可按预期工作 (删除结尾处的逗号。)

数据:

如下所述:

df=pd.read_csv('file.csv', parse_dates=['TS'])
df.dtypes
提供所需的输出

TS        datetime64[ns]
secs             float64
degC             float64
Pa               float64
V                float64
V.1              float64
V.2              float64
V.3              float64
V.4              float64
degC.1           float64
%                float64
dtype: object

这里的问题是,包含日期内容的第一列被解析为索引列。为了以datetime格式解析它,您需要执行以下操作:

DATA = pd.read_csv('file.csv', sep=',')
DATA.index = pd.to_datetime(DATA.index)
然后,索引列将采用日期时间格式:

DATA.index
DatetimeIndex(['2019-08-29 15:29:02', '2019-08-29 15:29:04'], dtype = 'datetime64[ns]', freq=None)

这里的问题是,包含日期内容的第一列被解析为索引列。为了以datetime格式解析它,您需要执行以下操作:

DATA = pd.read_csv('file.csv', sep=',')
DATA.index = pd.to_datetime(DATA.index)
然后,索引列将采用日期时间格式:

DATA.index
DatetimeIndex(['2019-08-29 15:29:02', '2019-08-29 15:29:04'], dtype = 'datetime64[ns]', freq=None)