Tool for conversion of MySQL dumps to TSV format
Project description
About
This module provides the mysqltotsv.Splitter class and a CLI tool to allow conversion of large MySQL dumps to the TSV format.
The module assumes the MySQL dump to be encoded in UTF-8 format.
This is primarily intended for large MySQL dumps where opening them with a text editor is impractical and handling them is easier through a tool.
Install
To install from pypi:
pip3 install --user mysqltotsv
Usage
The following command takes a MySQL dump and creates a separate TSV file for each table found inside (the output directory needs to be present):
python3.7 mysql-to-tsv.py --file dump.sql --outdir out1
There is also a switch to only process certain tables and skip the rest. Example:
python3.7 mysql-to-tsv.py --file dump.sql --outdir out1 --table-filter=updates,updates_edited
More details about the CLI switches:
usage: mysql-to-tsv.py [-h] --file FILE --outdir OUTDIR
[--table-filter TABLE_FILTER] [--only-schema]
[--strip-quotes] [--debug] [--ignore-errors]
[--estimate1] [--estimate2]
Tool for conversion of large MySQL dumps to TSV format
optional arguments:
-h, --help show this help message and exit
--file FILE mysql dump file
--outdir OUTDIR output directory
--table-filter TABLE_FILTER
filtered tables
--only-schema write the schema to the output directory
--strip-quotes strip quotes from values
--debug print debug information
--ignore-errors ignore processing errors
--estimate1 estimate row counts for each table inside the sql file
--estimate2 estimate row counts for each table inside the sql file
Ideas
- Rewrite the module to parse the entire INSERT INTO statement instead of the hybrid ad-hoc + grammar-based approach.
- Write a better estimator that samples a few records, measures their size, for each table, then measures the entire file size and computes an estimate based on that.
Support
For questions or requests please send an e-mail to stefan.petrea@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mysqltotsv-0.1.4.tar.gz
.
File metadata
- Download URL: mysqltotsv-0.1.4.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6d1e760a429bfafa184b786fdc241fb7a0afc66120c9b1b9ec681568c5da489 |
|
MD5 | 4618101c7fc19f517c50ec708f661b8c |
|
BLAKE2b-256 | 2536508f1f8396b768182aea651dcda98efb8d626761164dffad47d996293c26 |
File details
Details for the file mysqltotsv-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: mysqltotsv-0.1.4-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9001bc8e3df3b413c575246f76799cd5e5b1e8a98abc202920ec2f33794b9f07 |
|
MD5 | b02b87ff0de33f27838dc1a35ce686ef |
|
BLAKE2b-256 | 8df519754bc02d6e1a86659134915fc05a728779f057c0c8244828b02be4abfe |