pd.to_日期时间或者parse datetimes无法处理我的csv文件(格式:dd/mm/yyyy,hh:mm:ss)

2024-09-27 00:22:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我从csv文件中提取了下表

Date,Time,CO2(ppm),CellTemp(c),CellPres(kPa)  
10/08/2016,13:21:11,356.89,51.07,99.91  
10/08/2016,13:21:12,356.89,51.07,99.91  
10/08/2016,13:21:13,356.83,51.07,99.91

我研究了最近几天,尝试了不同的方法让pandas把Date和{}列读成datetime,但我就是做不到。以下是我尝试过的一些方法:

^{pr2}$

我得到:

Date             object  
Time             object  
CO2(ppm)         object  
CellTemp(c)      object  
CellPres(kPa)    object  
dtype: object

当我尝试:

df_2 = pd.read_csv(file, parse_dates=[['Date', 'Time']]) 
print(df_2.dtypes)

我明白了

Date_Time        object  
CO2(ppm)         object  
CellTemp(c)      object  
CellPres(kPa)    object  
dtype: object

所以,现在DateTime在一列(11/08/2016 14:06:18)(我想要的),但是没有被识别为datetime。在

当我尝试:

pd.to_datetime(df_2['Date_Time'], format='%d/%m/%Y %H:%M:%S)

我收到错误消息:

File "<ipython-input-31-ace4ed1a0aa9>", line 1
pd.to_datetime(df_2['Date_Time'],format='%d/%m/%Y %H:%M:%S                                                            
SyntaxError: EOL while scanning string literal

当我尝试:

import dateutil.parser
dateutil.parser.parse(df_2['Date_Time'])

我得到(除了一些其他输出)错误消息:

AttributeError: 'Series' object has no attribute 'read'

我还在Excel中将dateformat手动更改为yyyy-mm-dd,并尝试了相同的操作,但没有得到更好的结果。我觉得这一定是我犯的一个非常基本的错误,我是一个新的脚本编写者,希望能得到任何帮助。如果我的问题有格式错误,请道歉。在


Tags: csv方法dfdatetimedateobjecttime错误
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:06

似乎有一些错误的日期时间或某个值无法转换为日期时间,因此您可以将参数errors='coerce'添加到^{}以将它们转换为NaT

#31.11. does not exist
print (df_2)
             Date_Time  CO2(ppm)  CellTemp(c)  CellPres(kPa)  
0  10/08/2016 13:21:11    356.89        51.07            99.91
1  10/08/2016 13:21:12    356.89        51.07            99.91
2  31/11/2016 13:21:13    356.83        51.07            99.91

df_2['Date_Time'] = pd.to_datetime(df_2['Date_Time'],
                                   format='%d/%m/%Y %H:%M:%S',
                                   errors='coerce')
print (df_2)
            Date_Time  CO2(ppm)  CellTemp(c)  CellPres(kPa)  
0 2016-08-10 13:21:11    356.89        51.07            99.91
1 2016-08-10 13:21:12    356.89        51.07            99.91
2                 NaT    356.83        51.07            99.91

也可以通过以下方法检查所有有问题的值:

^{pr2}$

相关问题 更多 >

    热门问题