【发布时间】:2020-01-09 12:30:50
【问题描述】:
我正在使用旧数据库(SQL-Server 2008),我提取了一些数据如下:
我完全不知道 StartTime 和 EndTime 格式是什么?我很确定我在谷歌上搜索错误的东西,但我也不确定要谷歌什么!
我尝试使用标准 pd_to_datetime 或 pd_to_timedelta 转换为 timedelta 或 pandas 日期时间对象,但这不是我能理解的任何东西。
第三行给我1970-01-01 00:00:00.000000540
import pandas as pd
df = pd.read_clipboard(sep='\s+')
print(df)
StartDate StartTime EndTime Duration
0 18/11/2006 NaN NaN 0
1 23/12/2006 NaN NaN 0
2 23/12/2006 540.0 1080.0 540
3 23/12/2006 540.0 1020.0 480
4 23/12/2006 540.0 1020.0 480
5 30/12/2006 630.0 1080.0 450
6 30/12/2006 540.0 1020.0 480
7 30/12/2006 540.0 1020.0 480
8 30/12/2006 540.0 1020.0 480
9 30/12/2006 540.0 1020.0 480
10 06/01/2007 1020.0 1200.0 180
11 06/01/2007 540.0 1020.0 480
12 06/01/2007 540.0 1020.0 480
13 06/01/2007 1020.0 1200.0 180
14 06/01/2007 1020.0 1200.0 180
15 18/11/2006 540.0 780.0 240
16 18/11/2006 900.0 960.0 60
17 23/12/2006 NaN NaN 0
18 23/12/2006 540.0 1080.0 540
19 23/12/2006 540.0 1020.0 480
20 23/12/2006 540.0 1020.0 480
21 23/12/2006 540.0 1020.0 480
22 09/09/2006 540.0 1050.0 510
23 09/09/2006 540.0 1050.0 510
24 09/09/2006 540.0 1020.0 480
有人可以帮忙吗?
【问题讨论】:
-
StartTime 和 EndTime 是否可以是自 StartDate 午夜以来的分钟数?
-
@Isaac 刚刚想通了,它们是秒,将
unit=s传递到to_datetime进行排序。 -
datetime没有格式,它是一个二进制值。要从任何数据库读取数据,请使用read_sql,而不是read_clipboard。您发布的内容看起来像是以错误的布局显示的日期和小数。read_sql不会有任何问题,它会返回不同列中的值 -
@PanagiotisKanavos 当然,我写这个是为了帮助任何想要复制数据的人,我正在读取一个包含 4400 万行的庞大表,我认为复制和粘贴无法处理那。我上面发的是
read_sql
标签: python sql-server datetime