【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

🎈🎈🎈Python实现Web图表功能系列:🎈🎈🎈1
🎈【Web开发】Python实现Web图表功能(D-Tale入门)🎈 🎈【Web开发】Python实现Web图表功能(D-Tale编译)🎈 🎈【Web开发】Python实现Web图表功能(pyecharts,Flask)🎈 🎈【Web开发】Python实现Web图表功能(ECharts.js,Flask)🎈 🎈【Web开发】Node实现Web图表功能(ECharts.js,Vue)🎈 🎈【Web开发】Node实现Web图表功能(ECharts.js,React)🎈 🎈【Web开发】Python实现Web图表功能(Grafana入门)🎈

文章目录

; 1、D-Tale

1.1 D-Tale简介

D-Tale 是 Fl​​ask 后端和 React 前端的组合,为您提供查看和分析 Pandas 数据结构的简单方法。它与 ipython 笔记本和 python/ipython 终端无缝集成。目前该工具支持 DataFrame、Series、MultiIndex、DatetimeIndex 和 RangeIndex 等 Pandas 对象。

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
D-Tale 是 SAS 到 Python 转换的产物。最初是基于 SAS功能 insight 的 perl 脚本包装器,现在是基于 Pandas 数据结构的轻量级 Web 客户端。

; 1.2 D-Tale安装

pip install dtale

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
or

conda install dtale -c conda-forge

conda install -c plotly python-kaleido

1.3 D-Tale测试

D-Tale支持多种文件格式,包括CSV、TSV、XLS、XLSX。它是一个以Flask 为后端,React 作为前端构建的,通过pip安装即可。数据的导入主要有如下几种方式:
(1)从文件加载数据
(2)从网站加载数据。需要传递网站的链接,可以从中获取 CSV、JSON、TSV 或 Excel 等文件。
(3)加载示例数据集。这些数据集可能需要一些后台下载才能从服务器获取数据集。

  • (1)入门例子
import dtale
dtale.show(open_browser=True)

测试结果如下:

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (2)显示数组
import dtale
import pandas as pd
df = pd.DataFrame([dict(a=1,b=2,c=3), dict(a=123.732,b=1.414,c=3.1415)])
dtale.show(df, open_browser=True)

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (3)展示excel文件
import dtale
import pandas as pd
df = pd.read_csv('d:/iris.csv')
dtale.show(df, open_browser=True)
import dtale
import pandas as pd

df = pd.read_csv("/data/test.csv", sep=";")
dtale.show(df, vertical_headers=False)

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (4)显示网络数据
import dtale
import seaborn as sns

df=sns.load_dataset('planets')
dtale.show(df, ignore_duplicate=True, open_browser=True)

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (5)复杂例子
import dtale
import pandas as pd

df = pd.DataFrame([dict(a=1,b=2,c=3)])

d = dtale.show(df)

tmp = d.data.copy()
tmp['d'] = 4

d.data = tmp

d.kill()

d.open_browser()

d._data_id
d._url

d2 = dtale.get_instance(d._data_id)

dtale.instances()

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

2、ngrok代理

2.1 简介

ngrok会在您计算机上的本地Web服务器上创建安全的公共URL(https://yourapp.ngrok.io)。快速迭代,立即反馈,不中断流量。

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

; 2.2 安装

  • (1)下载ngrok
    https://ngrok.com/download
    【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (2)安装您的Authtoken:
    ngrok.com服务的许多高级功能在后面的章节中描述要求您注册一个帐户。 注册后,您需要使用显示在信息中心上的authtoken配置ngrok。 这将授予您访问仅限帐户功能的权限。 ngrok有一个简单的”authtoken”命令,使这很容易。 在引擎盖下,所有的authtoken命令是添加(或修改)authtoken属性在您的ngrok配置文件。
ngrok authtoken <YOUR_AUTHTOKEN>

2.3 测试

  • (1)将本地计算机的端口80上的Web服务器公开到互联网:
ngrok http 8080

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
  • (2)ngrok提供了一个实时的Web UI,您可以在其中内省您的隧道上运行的所有HTTP流量。在启动ngrok之后,只需在Web浏览器中打开http://localhost:4040即可检查请求详细信息。
http://localhost:4040/

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
http://localhost:8080/cars

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

3、Python线程

3.1 _thread模块

_thread实现多线程主要通过:
_thread.start_new(执行的方法的名称,当前执行方法需要的参数)


import _thread
import time

def print_time(thread_name, delay):
    count = 0
    while count < 5:
        time.sleep(delay)
        count += 1
        print("线程名:{0},当前的时间为:{1}".format(thread_name,
              time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())))

try:
    _thread.start_new_thread(print_time, ("Thread-1", 2))
    _thread.start_new_thread(print_time, ("Thread-2", 4))
except:
    print("Error :线程无法启动线程")

while 1:
    pass

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
_thread加锁:

import _thread
from time import sleep, ctime

loop_times = [4, 2]

def loop_func(nloop, nsec, lock):
    print("start loop: {0}, at:{1}".format(nloop, ctime()))
    sleep(nsec)
    print("end loop: {0}, at :{1}".format(nloop, ctime()))
    lock.release()

def main():
    print("starting at:{0}".format(ctime()))
    loop_locks = []
    nloops = range(len(loop_times))

    for i in nloops:
        lock = _thread.allocate_lock()
        lock.acquire()
        loop_locks.append(lock)

    for i in nloops:
        _thread.start_new(loop_func,(i, loop_times[i], loop_locks[i]))

    for i in nloops:
        while loop_locks[i].locked(): pass
    print("all DONE at:{0}".format(ctime()))

if __name__ == "__main__":
    main()

3.2 threading模块

更高级的threading模块。
通过threading.Thread(执行的函数,name=”执行线程的名称”,args=(执行函数需要的参数))创建一个可执行的线程。


import threading
import time

class Sum:
    count = 0

def loop_func():
    while Sum.count < 10:
        time.sleep(1)

        Sum.count += 1
        current_name = threading.currentThread().getName()
        current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        print("{0}:当前执行操作的时间:{1},当前count的结果为:{2}".format(current_name, current_time, Sum.count))

def main():
    threading.Thread(target=loop_func, name="线程一").start()
    threading.Thread(target=loop_func, name="线程二").start()
    threading.Thread(target=loop_func, name="线程三").start()

if __name__ == '__main__':
    main()

【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)
【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

结语

&#x5982;&#x679C;&#x60A8;&#x89C9;&#x5F97;&#x8BE5;&#x65B9;&#x6CD5;&#x6216;&#x4EE3;&#x7801;&#x6709;&#x4E00;&#x70B9;&#x70B9;&#x7528;&#x5904;&#xFF0C;&#x53EF;&#x4EE5;&#x7ED9;&#x4F5C;&#x8005;&#x70B9;&#x4E2A;&#x8D5E;&#xFF0C;&#x6216;&#x6253;&#x8D4F;&#x676F;&#x5496;&#x5561;&#xFF1B;╮( ̄▽ ̄)╭
&#x5982;&#x679C;&#x60A8;&#x611F;&#x89C9;&#x65B9;&#x6CD5;&#x6216;&#x4EE3;&#x7801;&#x4E0D;&#x548B;&#x5730;//(ㄒoㄒ)// &#xFF0C;&#x5C31;&#x5728;&#x8BC4;&#x8BBA;&#x5904;&#x7559;&#x8A00;&#xFF0C;&#x4F5C;&#x8005;&#x7EE7;&#x7EED;&#x6539;&#x8FDB;&#xFF1B;o_O???
&#x5982;&#x679C;&#x60A8;&#x9700;&#x8981;&#x76F8;&#x5173;&#x529F;&#x80FD;&#x7684;&#x4EE3;&#x7801;&#x5B9A;&#x5236;&#x5316;&#x5F00;&#x53D1;&#xFF0C;&#x53EF;&#x4EE5;&#x7559;&#x8A00;&#x79C1;&#x4FE1;&#x4F5C;&#x8005;&#xFF1B;(✿◡‿◡)
&#x611F;&#x8C22;&#x5404;&#x4F4D;&#x5927;&#x4F6C;&#x7AE5;&#x978B;&#x4EEC;&#x7684;&#x652F;&#x6301;&#xFF01;( ´ ▽´ )ノ ( ´ ▽´)っ!!!

Original: https://blog.csdn.net/hhy321/article/details/127131455
Author: 爱看书的小沐
Title: 【Web开发】Python实现Web表格功能(D-Tale, Pandas, Flask)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/744896/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球