-*- coding: utf-8 -*- #读取交易日历数据表“date.xlsx”,字段依次为: # 市场类型(Markettype)、日期(Clddt)、星期(Daywk)、开市状态(State) # 其中开市状态O,表示开市 # 返回2016-01-04 至 2017-12-29日的每周最小交易日和最大交易日 # 分别记为:list1和list2
时间: 2024-02-23 20:58:31 浏览: 67
好的,我可以帮你解决这个问题。首先,你需要安装pandas库来读取数据。你可以通过以下命令来安装它:
```python
pip install pandas
```
安装完成后,你可以使用以下代码来读取数据并获取每周的最小和最大交易日:
```python
import pandas as pd
# 读取数据
df = pd.read_excel('date.xlsx')
# 将日期转换为datetime类型
df['Clddt'] = pd.to_datetime(df['Clddt'])
# 筛选出2016-01-04至2017-12-29的数据
df = df[(df['Clddt'] >= '2016-01-04') & (df['Clddt'] <= '2017-12-29')]
# 将日期设置为索引
df.set_index('Clddt', inplace=True)
# 按照星期分组
grouped = df.groupby(pd.Grouper(freq='W'))
# 获取每周的最小和最大交易日
list1 = []
list2 = []
for name, group in grouped:
if 'O' in group['State'].values:
list1.append(group.index.min().strftime('%Y-%m-%d'))
list2.append(group.index.max().strftime('%Y-%m-%d'))
```
这段代码会返回两个列表,分别保存每周的最小交易日和最大交易日。你可以将它们打印出来,或者将它们写入文件中。
阅读全文