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 包含了当前行的数据
        # 可以添加进度条的更新操作
  • 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] 包含了每一行的数据
    # 可以添加进度条的更新操作

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

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

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

你可能感兴趣的:(代码编程,python,开发语言)