繁体   English   中英

如何在 PySimpleGUI 中美化结果

[英]How to prettify results in PySimpleGUI

我目前正在练习熊猫

我正在使用一些口袋妖怪数据作为练习https://gist.github.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6

我想制作一个程序,允许用户输入他们的查询,我将返回他们需要的结果。

我有一个小问题,如果我在 pysimplegui 中显示我的 Pandas 查询的结果,它会显示一个“丑陋”的结果,这与终端中的“漂亮”不同。 为了更清楚我的问题,这里有一个例子。

如果我查询这个:

图片1

我按“搜索”后的结果将是

图片2

但是如果我在终端中查看结果,它看起来像这样

图3

这是我的工作代码


import pandas as pd
import PySimpleGUI as sg

pd.set_option('display.max_rows', None)
df = pd.read_csv(r'PATH HERE')

layout = [  [sg.Text('This is a basic searcher \nPlease input your search parameters')],
            [sg.Text('Name'), sg.Input(key='Name')],
            [sg.Text('Type 1'), sg.Input(key='Type 1')],
            [sg.Text('Type 2'), sg.Input(key='Type 2')],
            [sg.Text('Total'), sg.Input(key='Total')],
            [sg.Text('Generation'), sg.Input(key='Generation')],
            [sg.Button('Search'), sg.Button('Close')]
]


window = sg.Window('Pokemon Database Query', layout).Finalize()


while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Close':
        break
    if event == 'Search':
        df_query = 'df.loc['
        for key,value in values.items():
            if value != '':
                if value.isnumeric():
                    df_query += f'''(df['{key}'] == {value})&'''
                else:
                    df_query += f'''(df['{key}'] == '{value}')&'''
        df_query = df_query[:-1] + ']'
        sg.popup_scrolled('Result', eval(df_query))
window.close()

谢谢你

可以通过指定要返回的窗口大小来改善包装的丑陋程度。 大小=(列,行)`

sg.popup_scrolled('Result', eval(df_query), size=(100,40))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM