You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySimpleGUI表格显示含空格文件名出现大括号问题求助

解决PySimpleGUI Table元素显示带空格文件名时出现大括号的问题

问题根源

你传递给Table组件的pdf_results数据格式不符合要求:每个单元格的内容被额外嵌套了一层列表。PySimpleGUI的Table要求每行是字符串元素的一维列表,而非列表嵌套列表。当单元格内容是列表类型时,组件会对带空格的元素自动添加大括号进行格式区分,这就是带空格文件名被包裹的原因。

修正方案

将pdf_results中的嵌套结构改为一维字符串列表,直接传递每个单元格的字符串值即可。

修正后的完整代码

import PySimpleGUI as Sg

fake_init_data = []
results_table_headings = ["First Column", "Second Column"]
results_table_layout = [[Sg.Table(values=fake_init_data[:][:],
                                  headings=results_table_headings,
                                  auto_size_columns=False,
                                  justification='left',
                                  num_rows=5,
                                  key="results_table",
                                  row_height=20,
                                  col_widths=[30, 30],
                                  enable_events=True)]]

window = Sg.Window("Version .1.0", results_table_layout, finalize=True)

ui_results_table = window["results_table"]
# 修正数据格式:去掉单元格的嵌套列表,直接用字符串
pdf_results = [["Fonzy Cunningham.cool", "HighFive"],
               ["FonzyCunningham.cool", "High Six"]]
row_colors = [[0, "#64778D"], [1, "#64778D"]]

ui_results_table.update(values=pdf_results, row_colors=row_colors)

while True:
    event, values = window.read(timeout=1)

    if event != "__TIMEOUT__" and event is not None:
        print("##################################################")
        print(f"EVENT = {event}")

    if event == Sg.WINDOW_CLOSED:
        break

关键说明

  • 原代码中[['Fonzy Cunningham.cool'], ["HighFive"]]这种嵌套列表会被Table组件识别为单元格内的列表数据,而非单纯的字符串内容。
  • 修正后每行是一维列表,每个元素为字符串,PySimpleGUI会正常渲染所有文本,包括带空格的文件名。

内容的提问来源于stack exchange,提问作者Toyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:31:06