PY 做个窗口用PySimpleGUI可以选取电脑路径下的2个表格内相同的时间段数据,在这个大窗口里面显示数据并且数据可以点击保存按钮存放到新的表格里面
时间: 2024-03-17 07:45:00 浏览: 68
好的,我可以帮你解决这个问题。
首先,你需要安装 PySimpleGUI 库,可以通过以下命令进行安装:
```
pip install PySimpleGUI
```
然后,你可以使用 PySimpleGUI 来创建一个窗口,让用户选择两个表格文件。可以使用以下代码实现:
```python
import PySimpleGUI as sg
# 创建窗口
layout = [
[sg.Text('请选择表格文件')],
[sg.Input(), sg.FileBrowse()],
[sg.Input(), sg.FileBrowse()],
[sg.Submit(), sg.Cancel()]
]
window = sg.Window('选择表格文件', layout)
# 读取用户选择的文件路径
event, values = window.Read()
if event == 'Submit':
file_path_1 = values[0]
file_path_2 = values[1]
else:
sg.Popup('您取消了选择表格文件。')
exit()
```
接下来,你需要读取这两个表格文件,并找到相同时间段的数据。你可以使用 Pandas 库来读取和处理表格数据。可以使用以下代码实现:
```python
import pandas as pd
# 读取表格数据
df1 = pd.read_excel(file_path_1)
df2 = pd.read_excel(file_path_2)
# 找到相同时间段的数据
df = pd.merge(df1, df2, on='时间', how='inner')
```
最后,你需要在窗口中显示这些数据,并让用户保存到新的表格文件中。你可以使用 PySimpleGUI 来创建一个新的窗口,并在其中显示数据。可以使用以下代码实现:
```python
# 创建新窗口
layout = [
[sg.Table(values=df.values.tolist(),
headings=df.columns.tolist(),
auto_size_columns=True,
justification='center',
num_rows=min(len(df), 20))],
[sg.Save('保存')]
]
window = sg.Window('表格数据', layout)
# 等待用户操作
while True:
event, values = window.Read()
if event == '保存':
# 将数据保存到新的表格文件中
file_path = sg.PopupGetFile('请选择保存路径', save_as=True)
if file_path:
df.to_excel(file_path, index=False)
sg.Popup('保存成功。')
else:
sg.Popup('保存取消。')
elif event is None:
break
# 关闭窗口
window.Close()
```
这样,你就可以使用 PySimpleGUI 来实现一个窗口,让用户选择两个表格文件,找到相同时间段的数据,并在窗口中显示这些数据。同时,你还可以让用户将数据保存到新的表格文件中。
阅读全文