含main函数的python代码实现: 1. 创建一个excel,可添加需求信息,A列需求序号,B列需求内容,C列需求提出人,D列需求状态(open/close) 2. 可根据B列关键字查询excel中的需求 3. 可以根据D列需求状态查询open的需求 4. 可以修改指定需求的状态
时间: 2024-03-24 09:39:03 浏览: 13
好的,以下是实现您所需功能的完整 Python 代码,包含 `main()` 函数:
```python
from openpyxl import Workbook, load_workbook
from datetime import datetime
def create_excel_file(filename):
# 创建新的 Excel 文件
wb = Workbook()
ws = wb.active
# 添加表头
ws.append(["需求序号", "需求内容", "需求提出人", "需求状态"])
# 保存 Excel 文件
wb.save(filename)
def add_demand_to_excel(filename, demand_id, demand_content, demand_author, demand_status):
# 加载 Excel 文件
wb = load_workbook(filename)
ws = wb.active
# 添加需求信息
ws.append([demand_id, demand_content, demand_author, demand_status])
# 保存 Excel 文件
wb.save(filename)
def search_demand_by_keyword(filename, keyword):
# 加载 Excel 文件
wb = load_workbook(filename)
ws = wb.active
# 查找需求
demands = []
for row in ws.iter_rows(min_row=2):
if keyword in row[1].value:
demands.append((row[0].value, row[1].value, row[2].value, row[3].value))
# 关闭 Excel 文件
wb.close()
return demands
def search_open_demands(filename):
# 加载 Excel 文件
wb = load_workbook(filename)
ws = wb.active
# 查找 open 的需求
demands = []
for row in ws.iter_rows(min_row=2):
if row[3].value == "open":
demands.append((row[0].value, row[1].value, row[2].value, row[3].value))
# 关闭 Excel 文件
wb.close()
return demands
def change_demand_status(filename, demand_id, new_status):
# 加载 Excel 文件
wb = load_workbook(filename)
ws = wb.active
# 修改需求状态
for row in ws.iter_rows(min_row=2):
if row[0].value == demand_id:
row[3].value = new_status
# 保存 Excel 文件
wb.save(filename)
# 关闭 Excel 文件
wb.close()
def main():
filename = "demands.xlsx"
# 创建 Excel 文件
create_excel_file(filename)
# 添加需求
add_demand_to_excel(filename, 1, "优化网站性能", "张三", "open")
add_demand_to_excel(filename, 2, "增加登录验证功能", "李四", "open")
add_demand_to_excel(filename, 3, "修复首页链接问题", "王五", "close")
# 查询需求
print(search_demand_by_keyword(filename, "登录"))
print(search_open_demands(filename))
# 修改需求状态
change_demand_status(filename, 1, "close")
if __name__ == "__main__":
main()
```
在 `main()` 函数中,我们首先调用 `create_excel_file()` 函数创建一个新的 Excel 文件,然后使用 `add_demand_to_excel()` 函数向 Excel 文件中添加需求信息。
接下来,我们使用 `search_demand_by_keyword()` 函数和 `search_open_demands()` 函数分别查找 Excel 文件中的需求,根据关键字查询需求和查询 open 的需求。
最后,我们使用 `change_demand_status()` 函数修改需求状态为 close。
请注意,在使用完 Excel 文件后,我们需要使用 `wb.close()` 方法关闭文件,以释放文件资源。