import pandas as pd import tkinter as tk # 读取csv文件 df = pd.read_csv('数据处理.csv') # 定义查询函数 def search(): # 获取输入的关键词 keyword = entry.get() # 根据关键词过滤数据 result = df[df['职位名字'].str.contains(keyword) | df['公司名字'].str.contains(keyword)] # 清空列表框 listbox.delete(0, tk.END) # 将查询结果添加到列表框中 for index, row in result.iterrows(): listbox.insert(tk.END, f"{row['工作城市']} | {row['公司名字']} | {row['公司规模']} | {row['学历要求']} | {row['公司地址']} | {row['职位名字']} | {row['薪资待遇']} | {row['经验要求']} | {row['阶段融资']} | {row['行业领域']} | {row['工作性质']} | {row['第一类型']} | {row['第二类型']} | {row['第三类型']} | {row['职位福利']} | {row['详情页']}") # 创建GUI界面 root = tk.Tk() root.title('招聘信息查询工具') # 创建输入框和查询按钮 frame1 = tk.Frame(root) frame1.pack(side=tk.TOP) entry = tk.Entry(frame1, width=50) entry.pack(side=tk.LEFT) button = tk.Button(frame1, text='查询', command=search) button.pack(side=tk.LEFT) # 创建列表框 frame2 = tk.Frame(root) frame2.pack() listbox = tk.Listbox(frame2, width=200) listbox.pack()优化
时间: 2023-08-08 08:06:10 浏览: 101
解决pandas使用read_csv()读取文件遇到的问题
1. 将导入模块的代码放在最上面,方便查看和管理。
2. 在查询函数中,可以将字符串拼接的部分提取出来,方便后续修改和维护。
3. 可以添加对输入框的非空判断,避免出现空查询结果。
综合上述建议,优化后的代码如下:
```python
import pandas as pd
import tkinter as tk
# 读取csv文件
df = pd.read_csv('数据处理.csv')
# 定义查询函数
def search():
# 获取输入的关键词
keyword = entry.get().strip()
if not keyword:
return
# 根据关键词过滤数据
result = df[df['职位名字'].str.contains(keyword) | df['公司名字'].str.contains(keyword)]
# 清空列表框
listbox.delete(0, tk.END)
# 将查询结果添加到列表框中
for index, row in result.iterrows():
item = "{0} | {1} | {2} | {3} | {4} | {5} | {6} | {7} | {8} | {9} | {10} | {11} | {12} | {13} | {14}".format(
row['工作城市'], row['公司名字'], row['公司规模'], row['学历要求'], row['公司地址'], row['职位名字'],
row['薪资待遇'], row['经验要求'], row['阶段融资'], row['行业领域'], row['工作性质'], row['第一类型'],
row['第二类型'], row['第三类型'], row['职位福利'], row['详情页']
)
listbox.insert(tk.END, item)
# 创建GUI界面
root = tk.Tk()
root.title('招聘信息查询工具')
# 创建输入框和查询按钮
frame1 = tk.Frame(root)
frame1.pack(side=tk.TOP)
entry = tk.Entry(frame1, width=50)
entry.pack(side=tk.LEFT)
button = tk.Button(frame1, text='查询', command=search)
button.pack(side=tk.LEFT)
# 创建列表框
frame2 = tk.Frame(root)
frame2.pack()
listbox = tk.Listbox(frame2, width=200)
listbox.pack()
root.mainloop()
```
阅读全文