Pandas读取excel文件中的制定日期记录

客户需求
筛选出指定时间内的数据记录
数据存储格式如下
Pandas读取excel文件中的制定日期记录_第1张图片
筛选2019/8/3号的数据

import pandas as pd

# 读取excel文件内容
df = pd.read_excel('daofang.xlsx',sheet_name='test')
# 查看日期存储格式
print('日期存储格式为:',df['日期'].dtype)
# 筛选2019/8/3号的数据
dfday = df[(df['日期'] >=pd.to_datetime('20190803')) & (df['日期'] < pd.to_datetime('20190804'))]
print(dfday)

运行结果

D:\Python\Anaconda\python.exe C:/Users/Administrator/Desktop/到访表/test.py
日期存储格式为: datetime64[ns]
           日期   收款金额
5  2019-08-03  10006
6  2019-08-03  10007
7  2019-08-03  10008
8  2019-08-03  10009
9  2019-08-03  10010
10 2019-08-03  10011
11 2019-08-03  10018
12 2019-08-03  10019

Process finished with exit code 0

数据存储格式如下
Pandas读取excel文件中的制定日期记录_第2张图片
筛选月初到T-1和T-1日的数据

import pandas as pd
from datetime import date,timedelta
# 读取excel文件内容
df = pd.read_excel('daofang.xlsx',sheet_name='test')
print('输出读取文件内容' )
print(df )
# 查看日期存储格式
print('时间存储格式为:',df['时间'].dtype)
# 取出时间中的年月日
df['时间'] = pd.to_datetime(df['时间'].str[:10])
print('输出提取时间后的内容')
print(df)

# 补充内容
# 获取T-1日数据和月初到T-1日数据
today = date.today()  #获取系统当日时间 时间格式为:2019-8-26
startTime = str(today.year)+"-"+str(today.month)+"-01"#获取当月第一天时间
yesterday = (today + timedelta(days=-1)).strftime("%Y-%m-%d ")#获取T-1日时间
dfday = df[(df['时间'] >= yesterday)]  #获取T-1日数据
dfmonth = df[(df['时间'] <= yesterday) & (df['时间'] >= startTime)] #获取月初到T-1日数据
print('today是:',today)
print('startTime是:',startTime)
print('yesterday是:',yesterday)

运行结果

D:\Python\Anaconda\python.exe C:/Users/Administrator/Desktop/到访表/test.py
输出读取文件内容
                       时间  收款金额
0   2019-09-04 17:36:00.0  2001
1   2019-09-04 17:36:00.0  2002
2   2019-09-03 10:41:00.0  2003
3   2019-09-03 10:51:00.0  2004
4   2019-09-03 10:53:00.0  2005
5   2019-09-03 10:56:00.0  2006
6   2019-09-02 10:34:00.0  2007
7   2019-09-02 10:38:00.0  2008
8   2019-09-02 10:39:00.0  2009
9   2019-09-02 14:01:00.0  2010
10  2019-09-02 14:03:00.0  2011
11  2019-09-02 14:08:00.0  2012
12  2019-09-02 17:11:00.0  2013
时间存储格式为: object
输出提取时间后的内容
           时间  收款金额
0  2019-09-04  2001
1  2019-09-04  2002
2  2019-09-03  2003
3  2019-09-03  2004
4  2019-09-03  2005
5  2019-09-03  2006
6  2019-09-02  2007
7  2019-09-02  2008
8  2019-09-02  2009
9  2019-09-02  2010
10 2019-09-02  2011
11 2019-09-02  2012
12 2019-09-02  2013
today是: 2019-09-06
startTime是: 2019-9-01
yesterday是: 2019-09-05 

Process finished with exit code 0

你可能感兴趣的:(Python)