# Process Cricsheet.org zipped CSV files to pipe-delimited TXT

Process Cricsheet.org zipped CSV files to pipe-delimited TXT

## Links
- App: https://cricket-flask-only.tigzig.com
- Docs: https://tigzig.com/app-documentation/csv-processor.html

## Documentation

# Cricsheet.org CSV-ZIP File Processor

        Process zipped CSV files from cricsheet.org into pipe-delimited TXT output file

## About the App

## Getting Started with Cricsheet.org File Processor

### Overview

A specialized tool for processing cricket match data files from Cricsheet.org. Convert zipped CSV files into a standardized pipe-delimited format for easier analysis.

### Key Features

📤 Drag-and-drop or click-to-upload interface

- ⚡ Batch processing for efficient handling of large ZIP files

- 📊 Real-time progress tracking with detailed logs

- 🔄 Automatic data type conversion and normalization

- 💾 Downloads processed data in a pipe-separated format

### Basic Usage

- Download CSV format ZIP files from Cricsheet.org from  [https://cricsheet.org/downloads/#experimental](https://cricsheet.org/downloads/#experimental)

- Upload ZIP file to processor

- Receive processed TXT file

- Use in your analysis tools

## Source Code and Build Guides

## How It Works

### GitHub Repo

[https://github.com/amararun/shared-cricket-data-flask](https://github.com/amararun/shared-cricket-data-flask)  

- File Upload: Users upload a ZIP file containing cricket match CSV data

- Processing Pipeline:

Extracts files from ZIP archive

- Processes files in batches of 500 for memory efficiency

- Normalizes data types (converts numeric fields, handles missing values)

- Combines processed data into a single output file

- Progress Tracking: Real-time updates show:

Current processing status

- Number of files processed

- Detailed logs of operations

- Download: Processed file available for download upon completion

## Technical Architecture

### Frontend

- HTML5 + CSS3 for the user interface

- JavaScript for handling file uploads and progress tracking

- Server-sent events for real-time progress updates

### Backend

- Flask web framework

- Pandas for data processing

- Python's built-in zipfile module for archive handling

- Threading for non-blocking file processing
