如何在简单的 Kivy 应用程序中将 Pandas 数据框显示为表格?

2024-02-10

我想构建一个简单的 Kivy 应用程序:

  1. 要求用户输入一个整数(MTP)
  2. 要求用户输入延迟间隔(delay)
  3. 用户按下提交按钮后查询 url,然后从 该查询创建一个显示的 pandas 数据框(就像 表)在 Kivy 应用程序的主屏幕上,然后输出 数据帧更新直到 MTP 和延迟间隔达到

我拥有作为常规 python 程序进行查询的所有代码,我只是不知道如何显示用户输入和输出数据帧(和时间戳)。 (见下文)

import requests
import time
from bs4 import BeautifulSoup
from datetime import datetime
import itertools
import pandas as pd

mtp = input("Input whole number of minutes to post:") #<-How to do on Kivy Screen
delay = input("Enter 15, 30 or 60 second delay:") #<-How to ask on Kivy Screen
STP = int(mtp)*60

def requestOdds():
    url = "https://WEBPAGE WITH ODDS DATA.aspx"
    r = requests.get(url)
    soup = BeautifulSoup(r.content)
    stamp = datetime.now().strftime('%m/%d %H:%M:%S')
    tbPPosts = ('rptOdds_ctl01_tdOdd', 'rptOdds_ctl02_tdOdd','rptOdds_ctl03_tdOdd','rptOdds_ctl04_tdOdd','rptOdds_ctl05_tdOdd','rptOdds_ctl06_tdOdd','rptOdds_ctl07_tdOdd','rptOdds_ctl08_tdOdd','rptOdds_ctl09_tdOdd','rptOdds_ctl10_tdOdd','rptOdds_ctl11_tdOdd','rptOdds_ctl12_tdOdd','rptOdds_ct113_tdOdd','rptOdds_ct114_tdOdd','rptOdds_ct115_tdOdd','rptOdds_ct116_tdOdd','rptOdds_ct117_tdOdd','rptOdds_ct118_tdOdd','rptOdds_ct119_tdOdd','rptOdds_ct120_tdOdd','rptOdds_ct121_tdOdd')
    mlPPosts = ('rptOdds_ctl01_tdMl','rptOdds_ctl02_tdMl','rptOdds_ctl03_tdMl','rptOdds_ctl04_tdMl','rptOdds_ctl05_tdMl','rptOdds_ctl06_tdMl','rptOdds_ctl07_tdMl','rptOdds_ctl08_tdMl','rptOdds_ctl09_tdOdd','rptOdds_ctl10_tdMl','rptOdds_ctl11_tdMl','rptOdds_ctl12_tdMl','rptOdds_ct113_tdMl','rptOdds_ct114_tdMl','rptOdds_ct115_tdMl','rptOdds_ct116_tdMl', 'rptOdds_ct117_tdMl','rptOdds_ct118_tdMl','rptOdds_ct119_tdMl','rptOdds_ct120_tdMl','rptOdds_ct121_tdMl')
    trimmed_text=[]
    trimmed_text2=[]
    tbodds = []
    mlodds = []
    odds = []

    for horse in tbPPosts:
        table = soup.find('td', {"odds-table-odd"}, id=horse)
        if table is not None:
            text = table.renderContents()
            trimmed_text = text.strip()
            tbodds.append(trimmed_text) 

    for mlhorse in mlPPosts:
        table2 = soup.find('td', {"odds-table-ml"}, id=mlhorse)
        if table2 is not None:
            text2 = table2.renderContents()
            trimmed_text2 = text2.strip()
            mlodds.append(trimmed_text2)

    mlodds = itertools.ifilterfalse(lambda x: x=='', mlodds) #faster
    tbodds = itertools.ifilterfalse(lambda x: x=='', tbodds)
    oddsDict = dict(zip(mlodds, tbodds))
    **odds = pd.DataFrame(list(oddsDict.iteritems()), columns=['ML','TB'])
    print odds, stamp** #<--How do I get these to print onto the Kivy Screen?

def getLiveOdds():
    interval = 0
    while interval <= STP:
        requestOdds()
        time.sleep(delay)
        interval +=delay

getLiveOdds()

任何帮助将不胜感激!


我发现了一些可以帮助你的东西:

基维文件

GraphDraw:

<GraphDraw>:

    BoxLayout:
        Button:
            text: "Hello World"
            on_press: root.graph()

Logic

#!/usr/bin/env python
# -*- encoding: utf-8

import datetime
import pandas as pd
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
import dfgui
import pandas as pd


class Visualisation(App):
    pass

class GraphDraw(BoxLayout):
    def graph(self):
        xls = pd.read_excel('filepath')
        #df = pd.DataFrame.xls
        dfgui.show(xls)
        #print xls

if __name__ == '__main__':
    Visualisation().run()

因此,您使用 dfgui 可以创建 pandas 数据框表,而不是使用 Kivy。 请参阅项目 dfgui :https://github.com/bluenote10/PandasDataFrameGUI https://github.com/bluenote10/PandasDataFrameGUI

我希望它能有所帮助:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在简单的 Kivy 应用程序中将 Pandas 数据框显示为表格? 的相关文章

随机推荐

  • Git 只推送一个文件

    我们有一个每个人都在推动的公共仓库 我们有时想要拉动和推送单个文件 而不需要拉动整个远程文件并推送整个合并的本地文件 我知道推送必须是快进 我们可以只快进单个文件吗 这可能吗 如果不是 为什么 故意设计的 首先 您滥用了 Git 术语 Ar
  • 在 ruby​​ 中使用选项哈希和默认值作为参数有什么好的干净方法

    假设我想要一个这样调用的方法 tiger create tiger num stripes gt 12 max speed gt 43 2 tiger num stripes will be 12 其中一些选项具有默认值 tiger cre
  • 大表情符号在 Chrome 和移动浏览器上被截断

    我正在尝试在 HTML 或 CSS 中使用 unicode 显示一些大表情符号 然而 在Chrome中 一些表情符号的下半部分被切断 而另一些表情符号则显示得很好 它也无法在 Android 上的移动 Firefox 中呈现 工作表情符号示
  • 在 ng 构建期间修改 javascript 脚本标签的 src 位置

    我的 index html 文件在 ng 构建后包含以下文件 例如 如何使 Angular cli 在 src 文件夹位置添加 app src app vendor bundle js 我需
  • 自定义 Toast 取消不起作用

    我看到很多关于取消吐司的问题 他们都没有工作 我有一个定制的吐司 其代码除了一行之外都与http developer android com guide topics ui notifiers toasts html CustomToast
  • Android,如何取消闹钟? AlarmManager.cancel 不起作用

    我有一个应用程序 您可以在其中创建 5 个警报 其中要创建的警报显示在 ListView 中 并假设当 listView 的元素播放警报时 但应从列表视图中删除该项目 但警报会被删除以始终达到预定时间声音 我已经查看了很多有关如何删除警报的
  • 如何更改 GCC 的默认搜索目录 crti.o?

    我想指定 GCC 的搜索目录startfile and endfile crt1 o crti o and crtn o 通过 B在命令行上 GCC 驱动程序可以工作 但不方便 如何修改规格 文件 lib gcc x86 64 unknow
  • Sails v1.0:在 mongo 中使用自定义主键时出错

    我正在尝试 SailsJS v1 0 0 32 的测试版 但在配置自定义 ID 时遇到了一些问题 下面你会找到我当前的配置 The modelExample js module exports attributes id type stri
  • iOS 8.1 下 UIPopoverController 出现之前出现不可预测的延迟

    SDK 8 1 在 iOS 8 1 下运行时会出现此问题 但在 iOS 7 下运行时不会出现此问题 它仅适用于 iPad 该问题在模拟器和硬件设备上都会出现 下面的代码演示了一个视图控制器 其中包含一个具有 1 行的 UITableView
  • 未解析的外部符号 C++ 与汇编器

    我正在尝试在汇编器中创建函数以在 C 中使用它 我的问题是我无法编译我的代码 我正在使用 Visual studio 2012 我在构建定制中添加了 masm 所以我不知道出了什么问题 C include
  • Visual Studio 2019 错误 - 无法加载文件或程序集或其依赖项之一

    我在运行我的项目时遇到一些问题 当我尝试运行时 出现以下错误 FileNotFoundException 无法加载文件或程序集 Dapper Version 2 0 0 0 Culture neutral PublicKeyToken nu
  • 删除c中数组的重复名称

    这就是我要做的 c 应该可以删除具有指定名称的动物 如果存在更多同名动物 则应删除所有同名动物 这是我的代码 void deleteAnimalByName char animalName int nrOfAnimals ANIMAL an
  • 执行代码块一定次数

    所以我想执行一些代码N次 N 是文本框的值 例如 12 我不知道如何实现这一点 但我的脑海里浮现出这样的事情 For Each i as 1 in textbox1 text some code Next or dim num1 as in
  • asciidoc宏

    我使用 asciidoc 来渲染文本 我很难理解宏 我的目标是进行简单的宏处理 就像在 LaTeX 中一样 我想写两个宏 FOO应替换为 bar MYTEXT xyz 应替换为 This is my text xyz 也许用不同的方式传递参
  • 如何从 Android 版 Google+ API 获取当前位置?

    我需要从 Android 版 Google API 获取当前位置 我已经在 Google API 控制台中完成了所有操作 并将我的应用程序与带有 SHA1 和包名称的客户端 ID 链接起来 我成功获取了有关用户名 个人资料图片 封面图片 电
  • 如何在python3中使用ldap3绑定(验证)用户

    我正在尝试将一些代码更新为 python3 使用ldap3 http ldap3 readthedocs org en latest quicktour html版本 0 9 7 4 https pypi python org pypi l
  • 如何在android apk中保存私有字符串值?

    我知道我可以将字符串保存在 res values strings xml 中 但是如果有人反汇编 dex 文件或 apk 文件 那么他将能够看到硬编码字符串或 res values strings xml 字符串 有没有办法存储反汇编后不会
  • 有没有办法让 Eclipse 报告一般“catch (Exception e)”作为错误/警告(在 java 中)?

    我试图鼓励在 Java 代码中不捕获一般异常的最佳实践 例如 try catch Exception e bad 有没有办法在 Eclipse 中将其标记为错误 警告 我知道 PMD 会注意到这一点 但我现在宁愿避免将其集成到每个人的构建环
  • Android 按钮 KeyDown - KeyUp |不同的按钮事件

    我有一个关于开发 Android 应用程序的简单问题 问题是不同类型的按钮 例如 当我的手指放在按钮上时 音乐就会播放 但是当我的手指放在按钮上时 音乐就会停止 我怎样才能做到这一点 这可能是不同类型的按钮事件 但我不知道 我用谷歌搜索 但
  • 如何在简单的 Kivy 应用程序中将 Pandas 数据框显示为表格?

    我想构建一个简单的 Kivy 应用程序 要求用户输入一个整数 MTP 要求用户输入延迟间隔 delay 用户按下提交按钮后查询 url 然后从 该查询创建一个显示的 pandas 数据框 就像 表 在 Kivy 应用程序的主屏幕上 然后输出