csv-split: Split Big CSV Files for Excel, Uploads or by Column (Headers Kept)
by Tidy Byte Tools
$1
Excel stops at 1,048,576 rows. Upload forms have size limits. And sometimes you just want one file per state, store or customer. csv-split does all of that in one command, and every new file keeps the header row.
Examples:
• python split_csv.py big.csv (parts that fit in Excel)
• python split_csv.py big.csv --rows 50000
• python split_csv.py big.csv --parts 4
• python split_csv.py big.csv --size 20 (about 20 MB each)
• python split_csv.py orders.csv --by State (orders-CA.csv, orders-TX.csv, …)
What it does:
• Finds the separator for you: comma, semicolon, tab or |
• Keeps cells with line breaks and quotes in one piece (a simple line splitter breaks these)
• Reads the file bit by bit, so it can split files bigger than your computer's memory
• Saves UTF-8 files that open right in Excel
• Never changes your original file
Honest limits:
• CSV and text files only. Save .xlsx files as CSV first.
• --size is close, not exact.
• --by stops at 500 files, so pick a column with fewer different values than that.
What you get: the Python script, a README with steps for Windows, macOS and Linux, a 1,200-row sample file, and tests.
Needs Python 3.8+. No other installs.
FAQ
• Do I need to know how to code? No. You type one command. The README shows exactly what to type.
• Is my data sent anywhere? No. It runs on your computer.
• Can it join files back together? No, it only splits.
• What if it doesn't work for me? Refunds follow Gumroad's 30-day policy. Message me through Gumroad and I'll help or refund you.
Instant download. Single-user commercial license.
More free tools and docs: https://tidybytetools.github.io/tools/csv-split/