Skip to main content

A progressbar wrapper for standart csv package

Project description

CSVProgressBar

This package provides a progress bar wrapper for the standard csv library

Usage

To use csv reader you must specify ProgressBar object, witch must have update method:

from csv_progress_bar import read_with_pbar

pbar = MyPbar(...) 
with open('my_file.csv') as csvfile:
    reader = read_with_pbar(csvfile, pbar)
    for row in reader:
        ...

When reading a csv file, the reader calls the update method of the progerss bar, where the argument is the number of readed bytes. So set the progressbar total as the file size in bytes.

Personally, I like to use tqdm:

import os
from csv_progress_bar import read_with_pbar
from tqdm import tqdm

path = 'my_file.csv'
total_size = os.path.getsize(path)
pbar = tqdm(total= total_size)
with open(path) as csvfile:
    reader = read_with_pbar(csvfile, pbar)
    for row in reader:
        ...

Performance

Unfortunately, due to frequent iterations and additional function calls, reading is **~ 30% slower**

Cooming soon

  • readers objecs for pupular progressbars
  • progressbar for pandas reader!

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csv_progressbar-0.1.tar.gz (3.3 kB view hashes)

Uploaded Source

Built Distribution

csv_progressbar-0.1-py3-none-any.whl (4.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page