python按照日期筛选excel_基于pandas日期范围选择过滤Excel数据

我想知道如何通过python使用pandas根据特定的日期范围过滤Excel数据。在

例如:

(sheet1.xlsx)包含:DATE 51 52 53 54 55 56

20110706 28.52 27.52 26.52 25.52 24.52 23.52

20110707 28.97 27.97 26.97 25.97 24.97 23.97

20110708 28.52 27.52 26.52 25.52 24.52 23.52

20110709 28.97 27.97 26.97 25.97 24.97 23.97

20110710 30.5 29.5 28.5 27.5 26.5 25.5

20110711 32.93 31.93 30.93 29.93 28.93 27.93

20110712 35.54 34.54 33.54 32.54 31.54 30.54

20110713 33.02 32.02 31.02 30.02 29.02 28.02

20110730 35.99 34.99 33.99 32.99 31.99 30.99

20110731 30.5 29.5 28.5 27.5 26.5 25.5

20110801 32.48 31.48 30.48 29.48 28.48 27.48

20110802 31.04 30.04 29.04 28.04 27.04 26.04

20110803 32.03 31.03 30.03 29.03 28.03 27.03

20110804 34.01 33.01 32.01 31.01 30.01 29.01

20110805 27.44 26.44 25.44 24.44 23.44 22.44

20110806 32.48 31.48 30.48 29.48 28.48 27.48

如果我想从20110708-20110803范围内过滤这些数据

结果是:

^{pr2}$

我该怎么做呢?在

好的,关于你的问题,首先你需要使用Pythonpandas库来获取Excel数据。你可以使用pandas.read_excel()方法来读取Excel文件并将其转化为DataFrame对象。 然后,你需要使用PySimpleGUI来创建一个GUI界面,用来筛选数据。你可以使用PySimpleGUI中的Calendar选择器来选择起止日期范围。 最后,你需要编写一个过滤器函数来根据所选日期范围筛选数据。你可以使用pandas的DataFrame.query()方法来实现。代码示例如下: ```python import pandas as pd import PySimpleGUI as sg # 读取Excel文件 df = pd.read_excel('data.xlsx') # 创建GUI界面 layout = [[sg.CalendarButton('开始日期', target='startdate', format='%Y-%m-%d'), sg.InputText(key='startdate', readonly=True), sg.CalendarButton('结束日期', target='enddate', format='%Y-%m-%d'), sg.InputText(key='enddate', readonly=True)], [sg.Button('筛选')]] window = sg.Window('筛选数据', layout) # 定义过滤器函数 def filter_data(start_date, end_date): return df.query('date >= @start_date and date <= @end_date') # 处理GUI事件 while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == '筛选': start_date = pd.to_datetime(values['startdate']).date() end_date = pd.to_datetime(values['enddate']).date() filtered_data = filter_data(start_date, end_date) print(filtered_data) window.close() ``` 这个示例代码中,我们首先读取Excel数据并创建了一个GUI界面。界面包含了两个Calendar选择器,用来选择起止日期范围,以及一个筛选按钮。 在事件处理中,当用户点击筛选按钮时,我们将使用pd.to_datetime()函数将选择日期转换为pandas日期类型,并将这些日期传递给filter_data()函数进行筛选。函数使用DataFrame.query()方法来根据日期范围筛选数据,并将结果打印出来。 希望这个示例代码能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值