• python进度条库tqdm使用记录


    tqdm概述

    tqdm(全称"taqaddum",阿拉伯语中的“进展”)是一个Python库,用于在命令行界面中创建美观的进度条,以跟踪代码中循环、迭代和任务的执行进度。它是一个强大的工具,使你能够以可视化的方式监控长时间运行的任务。以下是tqdm的一些主要特点和用法:

    • 美观的进度条:tqdm创建了一个美观的文本进度条,通过在命令行窗口中动态显示进度,让你清晰地了解任务的进行情况。
    • 简单易用:tqdm非常容易使用。你只需要将要迭代的对象传递给它,然后它会自动创建并更新进度条。
    • 自定义设置:你可以自定义进度条的样式、位置、显示信息等,以满足你的需求。这使得你能够根据具体情况调整进度条的外观和行为。
    • 支持嵌套进度条:你可以嵌套多个进度条,以监控复杂的任务和多级循环。
    • 时间评估:tqdm会显示任务的剩余时间估计,让你了解任务何时完成。
    • 速度显示:它还会显示任务的速度,通常以单位/秒为单位。
    • 多平台支持:tqdm可以在多种终端和操作系统中运行。

    案例参考

    • 纯csv方法
    from tqdm import tqdm
    import csv
    
    # 定义CSV文件路径
    csv_file_path = 'your_csv_file.csv'
    
    # 打开CSV文件并创建一个CSV读取器
    with open(csv_file_path, 'r') as csv_file:
        csv_reader = csv.reader(csv_file)
        
        # 获取CSV文件的总行数
        total_rows = sum(1 for row in csv_reader)
    
    # 重新打开CSV文件以进行实际处理
    with open(csv_file_path, 'r') as csv_file:
        csv_reader = csv.reader(csv_file)
    
        # 使用tqdm来包装循环,只显示进度百分比
        for row in tqdm(csv_reader, total=total_rows, desc="Processing CSV"):
            # 在这里执行你的循循环操作
            # row 包含了当前行的数据
            # 可以添加进度条的更新操作
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • pandas方法
    from tqdm import tqdm
    import pandas as pd
    
    # 定义CSV文件路径
    csv_file_path = 'your_csv_file.csv'
    
    # 使用pandas来读取CSV文件
    df = pd.read_csv(csv_file_path)
    
    # 使用tqdm来包装循环
    for item in tqdm(df.iterrows(), total=len(df), desc="Processing CSV"):
        # 在这里执行你的循环操作
        # item[1] 包含了每一行的数据
        # 可以添加进度条的更新操作
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    以下是一些关于效率的考虑:

    • Pandas效率高:pandas是为了处理大型数据集而设计的,因此在处理大型CSV文件时通常表现良好。它提供了高度优化的数据结构和向量化操作,可以快速执行各种数据操作。

    • csv库较慢:使用Python的csv库来处理大型CSV文件可能会较慢,因为它是纯Python库,不像pandas那样高度优化。对于非常大的CSV文件,csv库可能导致内存问题,因为它需要一次性加载整个文件。

  • 相关阅读:
    CG6-v1.0-纹理映射
    C++:map和set
    APS生产计划排产在装备制造业的应用
    安全典型配置(一)使用ACL限制FTP访问权限案例
    Exception(异常) 和 Error(错误)区别解析
    高项 干系人管理论文
    [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册
    5、Elasticsearch 索引文档的CRUD
    windows使用小技巧之windows照片查看器无法显示此图片
    数据库压力测试方法小结
  • 原文地址:https://blog.csdn.net/weixin_38623994/article/details/133913444