首页 > 编程语言 >python tqdm 进度条 结合对象集合

python tqdm 进度条 结合对象集合

时间:2023-11-13 19:47:50浏览次数:36  
标签:tqdm tbar python 进度条 excel iter data

包含

1.单独数据的进度条

2.复杂对象集合的进度条

3.结合 excel 读取以及业务操作做到全局进度条

 

from tqdm import tqdm
import time

from openpyxl import Workbook, load_workbook


# 集合类型的进度条
def list_tqdm():
    # 生成随机数
    data = list()
    for i in range(1, 100):
        data.append(i)
    # desc 前缀描述
    # unit 单位
    for i in tqdm(range(len(data)), desc='用法 1', unit='单位'):
        time.sleep(0.01)

    with tqdm(range(len(data)), desc='用法 2', unit='单位') as tbar:
        for i in tbar:
            tbar.update()
            time.sleep(0.01)

#对象迭代器
def iterator_tqdm_1():
    data = list()
    for i in range(1, 100):
        data.append({
            'index':str('111')+str(i),
            'name':str(i)
        })
    data_iter=iter(data)
    for i in tqdm(iterable=data_iter, total=len(data), desc='用法 3', unit='单位'):
        # i 作为对象,必须指定 total
        time.sleep(0.01)


def iterator_tqdm_2():
    data = list()
    for i in range(1, 100):
        data.append({
            'index':str('111')+str(i),
            'name':str(i)
        })
    data_iter=iter(data)

    with tqdm(iterable=data_iter, total=len(data), desc='用法 4', unit='单位') as tbar:
        for i in tbar:
            # i 作为对象,必须指定 total
            tbar.update(1)
            time.sleep(0.01)

#结合 excel
def excel_tqdm():
    #读取 excel
    wb = load_workbook('static/9999.xlsx', 'r+')
    #获得所有 sheet 页码
    sheet_names = wb.sheetnames
    for name in sheet_names:
        ws = wb[name]
        insert_list = []
        #每个 sheet 页码产生一个进度条
        with tqdm(iterable=ws.iter_rows(min_row=4, min_col=1, max_col=13), desc=f'test_excel \t {name}',
                  total=(ws.max_row - 4), unit='条') as tbar:
            #循环行
            for row in tbar:
                #单行的业务操作
                #循环列
                for cell in row:
                    pass
            tbar.update(1)

if __name__ == '__main__':
    list_tqdm()
    iterator_tqdm_1()
    iterator_tqdm_2()
    excel_tqdm()

 

标签:tqdm,tbar,python,进度条,excel,iter,data
From: https://www.cnblogs.com/Sora-L/p/17829947.html

相关文章

  • Python_Mooc_Stu_23_11_13_String_Random
    目录一、序列 (一)序列的索引 1.索引编号 2.序列元素索引访问3.注意事项 (二)序列的切片 1.切片格式 2.切片使用 3.参数缺省 二、序列的运算和常用处理函数 (一)序列运算 1.序列相加 2.序列相乘 3.序列对象比较 4.成员资格检查 (二)常用处理函数 1.len()......
  • TD支持的库:python库、自身的python库、已经内置但需要自行引用的第三方库、第三方以外
    这是内置的第三方库asn1crypto (asn1crypto)-ParsingandserializingASN.1structuresAuthlib (authlib)-LibrarytobuildOAuthandOpenIDConnectservers.Certifi (certifi)- Root CertificatesforvalidatingthetrustworthinessofSSLcertificateswhi......
  • Python | 将本地文件上传到远程服务器
    在Python中,可以使用paramiko库来通过SSH进行文件的传输。首先,你需要安装paramiko库,可以使用以下命令进行安装:pipinstallparamiko然后,你可以使用以下Python脚本进行文件传输:此脚本使用SFTP协议进行文件传输。在SFTP的上下文中,你可以使用put方法将本地文件上传到远程服务器。......
  • Python curlify 模块将请求对象转换为 cURL 命令
    一、curlify是一个Python模块,它可以将Python的requests库中的请求对象转换为cURL命令的形式。使用curlify可以方便地将Python代码中的请求转化为可执行的cURL命令,方便调试和测试。以下是curlify模块的简单使用步骤:安装curlify模块。可以使用pip命令进行......
  • 代码随想训练营第三十四天(Python)| 1005.K次取反后最大化的数组和、134. 加油站、135.
    1005.K次取反后最大化的数组和classSolution:deflargestSumAfterKNegations(self,nums:List[int],k:int)->int:nums.sort(key=lambdax:abs(x),reverse=True)foriinrange(len(nums)):ifnums[i]<0andk>0:......
  • node-gyp无python环境问题
      如上图所示,这里报错can'tfindPythonexecutable"python",这个报错其实就是没有python环境,这里安装python2.7版本即可,有人说3.0以上的python无效,我没试过。  https://www.python.org/downloads/release/python-278/    这是我的安装路径,安装完后要配置下环境......
  • Python 练习实例2
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可......
  • Python 如何实现合并 PDF 文件?
    在处理多个PDF文档时,频繁地打开关闭文件会严重影响效率。因此,对于一大堆内容相关的PDF文件,我们可以先将这些PDF文件合并起来再操作,从而提高工作效率。比如,在传送大量的PDF文档时,在处理同一项目下的多个PDF文档时,或在打印一系列PDF文档时,将文档合并起来可以减少工作量......
  • 2、python脚本采集温州市数据开放平台数据
    1、采集网址url:https://data.wenzhou.gov.cn/jdop_front/index.do需求:获取数据资源-数据来源单位(龙湾区50)的信息具体要获取的信息如下:名称、摘要、更新、数源单位、地址、联系方式、数据领域、访问次数、下载次数、更新日期、发布日期、数据量。 2、浏览器审查页面返回的数......
  • 代码随想训练营第三十二天(Python)| 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃
    122.买卖股票的最佳时机II1、贪心classSolution:defmaxProfit(self,prices:List[int])->int:res=0foriinrange(1,len(prices)):res+=max(prices[i]-prices[i-1],0)returnres2、动态规划classSolution:d......