首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用PySimpleGUI和Pandas制作表格

PySimpleGUI是一个Python的GUI库,它提供了简单且易于使用的界面设计工具,可以用于创建各种类型的图形用户界面。Pandas是一个强大的数据处理和分析库,它提供了高性能、易于使用的数据结构和数据分析工具。

使用PySimpleGUI和Pandas制作表格可以通过以下步骤实现:

  1. 导入所需的库:
代码语言:txt
复制
import PySimpleGUI as sg
import pandas as pd
  1. 创建GUI窗口:
代码语言:txt
复制
layout = [[sg.Table(values=[], headings=[], max_col_width=25, auto_size_columns=True, justification='left', num_rows=20, alternating_row_color='lightblue', key='-TABLE-')],
          [sg.Button('加载数据', key='-LOAD-'), sg.Button('保存数据', key='-SAVE-'), sg.Button('退出', key='-EXIT-')]]

window = sg.Window('表格示例', layout)
  1. 定义加载数据的函数:
代码语言:txt
复制
def load_data(filename):
    try:
        data = pd.read_csv(filename)  # 从CSV文件中读取数据
        headings = list(data.columns)  # 获取表头
        values = data.values.tolist()  # 获取数据行
        return headings, values
    except Exception as e:
        sg.popup_error(f'加载数据失败:{str(e)}')
        return [], []
  1. 定义保存数据的函数:
代码语言:txt
复制
def save_data(filename, headings, values):
    try:
        data = pd.DataFrame(values, columns=headings)  # 创建DataFrame对象
        data.to_csv(filename, index=False)  # 将数据保存为CSV文件
        sg.popup('保存数据成功!')
    except Exception as e:
        sg.popup_error(f'保存数据失败:{str(e)}')
  1. 主循环中处理事件:
代码语言:txt
复制
while True:
    event, values = window.read()
    
    if event == sg.WINDOW_CLOSED or event == '-EXIT-':
        break
    
    if event == '-LOAD-':
        filename = sg.popup_get_file('选择要加载的文件', file_types=(('CSV Files', '*.csv'),))
        if filename:
            headings, values = load_data(filename)
            window['-TABLE-'].update(values=values, headings=headings)
    
    if event == '-SAVE-':
        filename = sg.popup_get_file('选择要保存的文件', save_as=True, file_types=(('CSV Files', '*.csv'),))
        if filename:
            save_data(filename, window['-TABLE-'].get_headings(), window['-TABLE-'].get_data())
  1. 关闭窗口:
代码语言:txt
复制
window.close()

这样,就可以使用PySimpleGUI和Pandas制作一个可以加载和保存数据的表格应用程序。在实际应用中,可以根据需要进行界面的美化和功能的扩展。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为示例,实际使用时应根据具体需求选择适合的腾讯云产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用PythonPandas处理网页表格数据

使用PythonPandas处理网页表格数据今天我要和大家分享一个十分实用的技能——使用PythonPandas处理网页表格数据。...而Pandas库是Python中用于数据处理分析的重要工具,它提供了大量的功能方法,能够方便地读取、处理分析各种结构化数据。使用PythonPandas处理网页表格数据的第一步是获取数据。...Pandas提供了各种导出数据的方法,比如保存为Excel、CSV、数据库等多种格式。通过上面的介绍,希望大家对使用PythonPandas处理网页表格数据有了初步的了解。...通过学习如何使用PythonPandas处理网页表格数据,我们可以快速、高效地对这些数据进行清洗、处理分析。...最后,我们可以将处理好的数据保存为不同格式的文件,方便后续使用分享。希望通过本文的分享,大家对如何使用PythonPandas处理网页表格数据有了更深入的了解。

24830
  • 80行代码自己动手写一个表格拆分与合并小工具(文末附工具下载)

    另外,在进行表格拆分与合并操作中采用的是第三方库pandas,同时关于gui我们的是pysimplegui,打包成exe采用的是pyinstaller。...xlrd,建议加上) pip install pandas pip install openpyxl pip install xlrd pip install pysimplegui pip install...pyinstaller 关于这三个库,大家可以查阅官方文档了解更多: pandas : https://pandas.pydata.org/ pysimplegui:https://pysimplegui.readthedocs.io...因此,在这里我们主要用到两个库:ospandas,其中os用于获取文件夹下全部满足要求的文件信息,pandas用于读取表格数据并进行concat。...GUI设计 因为要支持表格拆分和合并,我们已经在23部分将这两个功能封装为函数了。 关于GUI的功能部分,需要支持以下功能。

    1.2K40

    faster-rcnnMaskRCNN做表格检测

    如果你做过OCR或者有一定了解,那么考虑这样一个场景:一张论文截图,有图有表还有公式,如果直接做OCR,首先纯文本区域应该是没问题的,对于表格区域如果你的ocr接口效果不错那么应该可以识别出表格中的文字并且保留它们的相对位置...之所以选择距离变换是因为距离变换通过计算文档图像中文本区域空白区域之间的距离可以更好的突出文本中的表格区域。同时为了丰富表格区域的特征,作者用了三种不同的距离来对图像做变换。...image.png MaskRCNN在有效检测目标的同时输出高质量的实例分割mask,作为FasterRCNN的扩展,RolAlign代替了RoIPooling,RoIPooling使用取整量化,导致特征图...MaskRCNN具有很好的泛化适应能力,可以多种RCNN框架结合,比较常见的如: 1)FasterRCNN/ResNet; 2)FasterRCNN/FPN 高质量的标注表格数据集 TableBank...TableBank是一个表格检测与识别的数据集,基于公开的、大规模的Word文档LaTex文档,通过弱监督方法创建而来。

    2K00

    如何只用一行Python代码制作一个GUI(图形界面)?

    GUI(图形用户界面),顾名思义就是图形的方式,来显示计算机操作的界面,更加方便且直观。 一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率。...今天,小F就给大家介绍如何只用一行Python代码制作一个GUI。 主要使用Python的PySimpleGUI库来完成这个工作。...https://pysimplegui.readthedocs.io/en/latest/call%20reference/ ▍1、选择文件夹 首先导入PySimpleGUI库,并且缩写sg来表示。...import PySimpleGUI as sg # 窗口显示文本框浏览按钮, 以便选择一个文件夹 dir_path = sg.popup_get_folder("Select Folder") if...首先选择输入文件夹输出文件夹的地址。 然后通过pathlib库对输入文件夹进行遍历,查找出所有xls格式文件的路径地址。 点击OK按钮后,就会开始表格转换,操作如下。

    1.7K30

    scikit-learnpandas学习线性回归

    pandas来读取数据     我们先打开ipython notebook,新建一个notebook。当然也可以直接在python的交互式命令行里面输入,不过还是推荐notebook。...from sklearn import datasets, linear_model     接着我们就可以pandas读取数据了: # read_csv里面的参数是csv在你电脑上的路径,此处csv...\CCPP\ccpp.csv')     测试下读取数据是否成功: #读取前五行数据,如果是最后五行,data.tail() data.head()     运行结果应该如下,看到下面的数据,说明pandas...现在我们开始准备样本特征X,我们AT, V,APRH这4个列作为样本特征。...以上就是scikit-learnpandas学习线性回归的过程,希望可以对初学者有所帮助。

    1.6K50

    网易这个条形图在Power BI可以内置表格制作

    在网易数读看到一个条形图,如下图右侧所示,特点有:类别标签居中,条形居中,带有背景阴影,条形阴影均为圆角。 去年的时候我分享了如何使用第三方视觉对象HTML Content实现该效果。...进入2023年,Power BI内置表格对SVG矢量图的支持度大幅提升(参考:Power BI 重大更新:可视化能力大幅提升!)...,现在可以直接表格实现了,以下是数据标签下方垂直居中的两种效果: HTML Content使用的图表度量值核心原理相同,改动的地方有两点:首先是SVG图形前方加上data:image/svg+...xml;utf8,以便表格识别;其次下方的text语句删除,因为表格直接带有维度。...图像中的高度宽度可以按需适配(最大宽度目前支持512像素),调整完成后标记为图像URL即可拖入表格使用。

    21620

    scikit-learnpandas学习Ridge回归

    本文将用一个例子来讲述怎么scikit-learnpandas来学习Ridge回归。 1....一般可以梯度下降法最小二乘法来解决这个问题。scikit-learn的是最小二乘法。 2. 数据获取与预处理     这里我们仍然UCI大学公开的机器学习数据来跑Ridge回归。     ...当然也可以直接在python的交互式命令行里面输入,不过还是推荐notebook。下面的例子输出我都是在notebook里面跑的。     ...from sklearn import datasets, linear_model     接着pandas读取数据: # read_csv里面的参数是csv在你电脑上的路径,此处csv文件放在notebook...\CCPP\ccpp.csv')     我们AT, V,APRH这4个列作为样本特征。

    87820

    好物分享20-飞书文档制作一款答疑数据表格

    1-为每个团队项目新建一个文件夹 这里我的演示全部基于网页版,当然其实客户端网页并没有非常明显地差别,你也可以进行尝试。...3-重新定制一下表格 3.1-提问表格 模板如下: 这里我参考先前的表格: 先批量删除除首行外的全部字段: 除了首列之外,这里可以通过拉拽的方式,调整列的位置。...而列的名称属性,可以通过右键更换: 首先制作以下几列: 再新建一个视图: 这样用户就可以通过问卷的形式,直接提问了: 3.2-回答表格 这里新建一个数据表格,如下: 其中主要强调第二列,其打开其实是一个问卷视图...: 这样做的好处有两点: 方便我作为回答者对问题查看与作答; 方便提问者直接在一个页面比较问题与答案; 这个列的属性主要利用了单向关联的功能: 3.3-总表再增加两列 再回到3.1 制作表格中,这里添加两列...后话 到目前为止,我们创建了一个表格与对应的两个视图,与另一个回答表格: 参考资料 [1]via: 思考问题的熊 [2]可多人实时编辑的在线文档软件-在线文档(云文档)-飞书官网 (feishu.cn

    1.1K20

    Python GUI之PySimpleGUI

    简介 PySimpleGUI基于Tkinter,Remi、wxPythonPyQt。Remi将应用程序的界面转换为HTML以在Web浏览器中呈现”。...PySimpleGUI制作简易弹窗界面 两种界面设计模式 (1) 单次显示界面(one-shot window) 类似于弹窗,出现一次 常用于提示信息,收集信息 (2)持续显示界面(Persistent...window) 持续不断显示,除非用户手动关闭 常作为软件的主界面 制作弹窗 官网默认的库的缩写为sg,使用时建议保持统一,也是使用sg 弹窗类型:(第一种第二种是一致的) sg.popup...('带OKcancel按钮的弹窗') sg.popup_error('带红色error按钮的弹窗') sg.popup_auto_close('几秒后自动关闭的弹窗') 最后一个执行后程序会在2s...sg.Text('My one-shot window.')], [sg.InputText()], [sg.Submit(), sg.Cancel()] ] 可以想想成一个表格

    46260

    PySimpleGUIPython玩转GUI开发,为什么不能简单一点!

    在本系列中我们将介绍Python中另外一个GUI库,比较新兴的同时又是可以说是非常非常简便制作的包PySimpleGUI。...如果是下载速度慢的可以下面的清华镜像地址下载 pip install PySimpleGUI -i https://pypi.tuna.tsinghua.edu.cn/simple 说明:默认条件下...而后引用包 import PySimpleGUI as sg 引用包后可以查看有哪些主题可以,并切换到对应的主题颜色,这里选择一个比较暖的绿色 #查看所有主题 sg.preview_all_look_and_feel_themes...() #切换主题 sg.change_look_and_feel("GreenMono") 接着就是构建GUI的基本框架,下面一步一步带你制作这样一个GUI页面首先创建一些小部件(widgets),这里举例创建两个文本部件两个按钮...Tkinter一样,默认端口的PySimpleGUI只有PNG, GIF, PPM/PGM这几类图片格式是支持。

    6.5K30

    超详细的怎样MarkDown写目录表格

    超详细的怎样MarkDown写目录表格 强烈推介IDEA2020.2破解激活...,IntelliJ IDEA 注册码,2020.2 IDEA 激活码 超详细的怎样MarkDown写目录表格 相信看过许多大佬的博客都会心生感慨,为什么大佬的文采就这么好,条理这么清晰呢,每篇文章的开头还有自己博客的目录导航...其实用MarkDown写目录挺简单的,接下面就进行详细介绍: 博客写目录要用到个 " 文章目录 超详细的怎样MarkDown写目录表格 升职 加薪 赚大钱 标题增加MarkDown...的表格 表格是向左向右对齐详解 升职 升职 升职 升职 升职 升职 升职 升职 升职 升职 升职 升职 升职 加薪 加薪 加薪 加薪 加薪 加薪 加薪 加薪 加薪...表格是向左向右对齐详解 列表的向左对齐向右对齐,也挺简单的,下面也来作一下详细说明 在这个符号的后面加上 " |:-- "(注:双引号不用加),在左边一竖两中划线中间加上英文输入法的冒号,就是向左对齐

    1.3K30

    AI制作动画电影的英语台词本

    AMIABLE [PublicHD]; 新建一个word文档:龙猫台词本.docx; 设置页边距为:上:1厘米,下1厘米,左3厘米,右1厘米; word文档页面设置的方向为:横向; 第1页插入一个2行2列的表格...,设置表格边框为:无; 设置表格第1行第1列单元格的长度为13.16厘米,高度为6.88厘米; 设置表格第2行第1列单元格的长度为13.16厘米,高度为11.89厘米; 在表格第1行第1列单元格插入文件夹...[PublicHD]\Subs”中的文本:{txtnumber1}.txt;({txtnumber1}的值从8开始,以30递增,直到608结束),字体设置为:calibri 正文、字号为:小四; 设置表格第...1行第2列单元格的长度为13.16厘米,高度为6.88厘米; 设置表格第2行第2列单元格的长度为13.16厘米,高度为11.89厘米; 在表格第1行第2列单元格插入文件夹“D:\My.Neighbor.Totoro...我们可以通过更改表格的边框样式来实现无边框效果 chatgpt生成的代码: import os from docx import Document from docx.shared import Cm

    9610

    PandasSQLite提升超大数据的读取速度

    Turner-Trauring 翻译:老齐 与本文相关的图书推荐:《跟老齐学Python:数据分析》 ---- 让我们想象,你有一个非常大的数据集,以至于读入内存之后会导致溢出,但是你想将它的一部分用Pandas...现在,Pandas的DataFrame对象中有索引,但是必须要将数据读入内存,然而CSV文件太大了,内存无法容纳,于是,你想到,可以只载入你关注的记录。 这就是第一个方法,进行分块。...哦,你不喜欢安装维护那些讨厌的服务,好吧,SQLite应运而生了。 SQLite是一个功能齐全的关系型数据库,它能够像其它数据库一样运行,但是不需要服务器。Pyhton默认就支持这种数据库。...SQLite存储数据 下面演示一下如何用Pandas操作SQLite: 1....原文链接:https://pythonspeed.com/articles/indexing-pandas-sqlite/

    4.9K11

    实战|pandas+PyQt5制作一款数据分组透视处理工具

    早起导读:pandas是Python数据处理的利器,如果每天都要使用pandas执行同样的操作,如何制作一个有界面的软件更高效的完成?本文提供了一种基于PyQt5的实现思路。...、清洗筛选以及简单的分组或数据透视处理,结合PyQt5与pandas库,制作了一个简单的数据处理可视化工具。...那我们实际上需要进行的清洗过程是df = df[df['usernum']>=6] df = df[df['victory']==1],为实现这个效果,可以最简单的字符拼接的形式 s = f"Li...#获取输入的筛选字段(‘/’分割),我们'/'拆分为列表 checkli = self.lineEditcheck.text().split('/') #获取输入的条件参数(‘/’分割),我们'...每个槽函数其实都是利用到的python基础知识或者pandas基础数据处理知识,熟练掌握后便可很方便理解实现。

    1.5K21

    140行代码自己动手写一个词云制作小工具(文末附工具下载)

    继之前出过表格拆分与合并小工具、pdf转word小工具后,今天我们迎来了词云制作小工具。...其实,在往期的很多推文中都出现过词云制作的身影,今天我们就把它们封装起来,做成一个小工具分享给大家吧。 先看效果: 接下来,我们介绍这个小工具的制作过程。 1....GUI设计与实现 基于功能点,我们可以先在草稿本上进行简单的UE布局设计,然后再通过GUI开发库进行设计,这里依旧采用的是pysimplegui,主要是简单方便。 ?...GUI交互逻辑 我们在前面有提到,对于绘制好的词云图,希望可以弹出自动预览,这里实现这个功能,采用的是pysimplegui的Image控件,传递参数是图片的地址pic_path。...data = f.read() #读取文件 else: data = '' # 判断文本文件存在与否(其实可以不用pandas

    89720

    有哪些开源的 Python 库让你相见恨晚?

    face_recognition 这是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档应用案例,特别是兼容树莓派系统。...我们知道数据分析有个 pandas 框架,而这个项目就是继承 pandas 的, 它几乎可以做到一行代码快速对数据进行可视化分析: 这里一行代码就可以直接生成可视化数据: 项目地址: https:...,这个框架可以节省你很多时间: 项目地址: https://github.com/offu/WeRoBot PySimpleGUI 你可以使用它简单的创建用户界面,PySimpleGUI 同时支持 Python2... Python3。...一个最简单的例子: GitHub地址: https://github.com/PySimpleGUI/PySimpleGUI star:2.4k yagmail yagmail 是我见过实现 Python

    75720
    领券