You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+
## Project Overview
6
+
7
+
xlsx2csv is a Python utility that converts XLSX files to CSV format. It's designed to handle large XLSX files efficiently and supports multiple Python versions (2.4 to 3.14). The entire converter is implemented in a single Python file `xlsx2csv.py` (~54KB).
8
+
9
+
## Development Commands
10
+
11
+
### Testing
12
+
```bash
13
+
python3 test/run
14
+
```
15
+
This runs the comprehensive test suite that compares output from various test XLSX files against expected CSV files. Tests cover edge cases like datetime formatting, empty rows, hyperlinks, various delimiters, and multi-sheet files.
16
+
17
+
### Building
18
+
```bash
19
+
python3 -m build
20
+
```
21
+
Uses the modern Python build system defined in `pyproject.toml`.
22
+
23
+
### Installation for Development
24
+
```bash
25
+
pip install -e .
26
+
```
27
+
Install in editable mode for local development.
28
+
29
+
## Code Architecture
30
+
31
+
### Core Classes
32
+
-**Xlsx2csv**: Main converter class that orchestrates the conversion process
33
+
-**Workbook**: Represents the XLSX workbook structure and handles ZIP file extraction
34
+
-**Sheet**: Handles individual worksheet conversion with SAX parsing for memory efficiency
35
+
-**SharedStrings**: Manages the shared strings table
36
+
-**Styles**: Handles cell formatting and number formats
37
+
-**ContentTypes**: Manages XLSX content type definitions
will output each file in the input dir converted to `.csv` in the output dir. If omitting the output dir it will output the converted files in the input dir
88
+
will output each file in the input directory converted to `.csv` in the output directory. If omitting the output directory, it will output the converted files in the input directory.
0 commit comments