我想写一个用来提词的python软件,有UI界面,我输入一些关键词,它可以帮我显示相关的几段话,这几段话的来源是从excel表格文件得到,帮我写出这样的代码
时间: 2024-09-08 22:00:47 浏览: 47
为了创建一个具有图形用户界面(GUI)的Python程序,用于从Excel文件中提取关键词和相关段落,你可以使用`tkinter`库来构建用户界面,以及`pandas`库来处理Excel文件数据。以下是一个简单的示例代码,展示了如何实现这一功能:
首先,确保安装了`pandas`和`openpyxl`库,这两个库分别用于读取Excel文件和让`pandas`支持`.xlsx`文件格式:
```bash
pip install pandas openpyxl
```
然后,你可以使用以下代码:
```python
import tkinter as tk
from tkinter import ttk
import pandas as pd
# 从Excel文件读取数据
def load_data_from_excel(file_path, keyword):
try:
# 使用pandas读取Excel文件
data = pd.read_excel(file_path)
# 根据关键词提取相关段落
relevant_paragraphs = data[data.apply(lambda row: row.astype(str).str.contains(keyword)).any(axis=1)]
return relevant_paragraphs
except Exception as e:
print(f"发生错误:{e}")
return pd.DataFrame()
# 创建GUI界面
class App(tk.Tk):
def __init__(self, file_path):
super().__init__()
self.title("提词软件")
self.geometry("400x300") # 设置窗口大小
# Excel文件路径
self.file_path = file_path
# 输入框
self.entry_keyword = tk.Entry(self)
self.entry_keyword.pack()
# 搜索按钮
self.button_search = tk.Button(self, text="搜索", command=self.search_keywords)
self.button_search.pack()
# 显示结果的文本框
self.text_result = tk.Text(self, height=15, width=40)
self.text_result.pack()
def search_keywords(self):
# 获取关键词
keyword = self.entry_keyword.get()
if keyword:
# 根据关键词搜索段落
result = load_data_from_excel(self.file_path, keyword)
self.show_result(result)
def show_result(self, result):
# 清空之前的显示结果
self.text_result.delete('1.0', tk.END)
# 显示新的搜索结果
for index, row in result.iterrows():
self.text_result.insert(tk.END, f"标题: {row['标题']}\n内容: {row['内容']}\n\n")
# 如果这是一个脚本,请运行以下代码来显示GUI窗口
if __name__ == "__main__":
app = App("path_to_your_excel_file.xlsx") # 替换为你的Excel文件路径
app.mainloop()
```
在这个示例中,我们假设Excel文件有两个列标题,分别是"标题"和"内容"。当用户输入关键词并点击搜索按钮时,程序会显示包含该关键词的所有段落。
请记得将`"path_to_your_excel_file.xlsx"`替换为你的Excel文件的实际路径。
阅读全文