用python编写一个程序,读取Excel表格,然后创造一个新的窗口进行随机点名
时间: 2024-04-30 22:19:51 浏览: 171
使用python+djnago实现随机点名
好的,需要用到以下库:`openpyxl`、`random`、`tkinter`。请确保这些库已经安装。然后按照以下步骤编写程序:
1. 导入所需库
```python
import openpyxl
import random
import tkinter as tk
```
2. 读取 Excel 表格
```python
# 打开 Excel 文件
wb = openpyxl.load_workbook('students.xlsx')
# 选择指定的表格
sheet = wb['Sheet1']
# 获取表格中所有学生的姓名
students = [cell.value for cell in sheet['A'] if cell.value is not None]
```
3. 创建 GUI 界面
```python
# 创建主窗口
window = tk.Tk()
window.title('随机点名')
# 创建标签
label = tk.Label(window, text='点名开始!', font=('Arial', 24))
label.pack()
# 创建按钮
button = tk.Button(window, text='开始点名', font=('Arial', 18), command=lambda: choose_student(students))
button.pack()
```
4. 编写随机点名函数
```python
def choose_student(students):
# 随机选择一个学生
student = random.choice(students)
# 在标签中显示被选择的学生
label.config(text=student)
```
5. 启动 GUI 界面
```python
window.mainloop()
```
完整代码如下:
```python
import openpyxl
import random
import tkinter as tk
# 打开 Excel 文件
wb = openpyxl.load_workbook('students.xlsx')
# 选择指定的表格
sheet = wb['Sheet1']
# 获取表格中所有学生的姓名
students = [cell.value for cell in sheet['A'] if cell.value is not None]
# 创建主窗口
window = tk.Tk()
window.title('随机点名')
# 创建标签
label = tk.Label(window, text='点名开始!', font=('Arial', 24))
label.pack()
# 创建按钮
button = tk.Button(window, text='开始点名', font=('Arial', 18), command=lambda: choose_student(students))
button.pack()
# 随机选择一个学生
def choose_student(students):
student = random.choice(students)
# 在标签中显示被选择的学生
label.config(text=student)
# 启动 GUI 界面
window.mainloop()
```
注意:这里假设 Excel 表格中只有一个表格,且学生姓名都在第一列 (A 列)。如果需要读取其他表格或列,需要修改代码。
阅读全文