csvsql(1)

manual page for csvsql 1.0.7

Section 1 csvkit bookworm source

Description

CSVSQL

NAME

csvsql - manual page for csvsql 1.0.7

DESCRIPTION

usage: csvsql [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]

[-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE] [-S] [--blanks] [--date-format DATE_FORMAT] [--datetime-format DATETIME_FORMAT] [-H] [-K SKIP_LINES] [-v] [-l] [--zero] [-V] [-i {firebird,mssql,mysql,oracle,postgresql,sqlite,sybase}] [--db CONNECTION_STRING] [--query QUERY] [--insert] [--prefix PREFIX] [--before-insert BEFORE_INSERT] [--after-insert AFTER_INSERT] [--tables TABLE_NAMES] [--no-constraints] [--unique-constraint UNIQUE_CONSTRAINT] [--no-create] [--create-if-not-exists] [--overwrite] [--db-schema DB_SCHEMA] [-y SNIFF_LIMIT] [-I] [--chunk-size CHUNK_SIZE] [FILE ...]

Generate SQL statements for one or more CSV files, or execute those statements directly on a database, and execute one or more SQL queries.

positional arguments:

FILE

The CSV file(s) to operate on. If omitted, will accept input as piped data via STDIN.

optional arguments:

-h, --help

show this help message and exit

-d DELIMITER, --delimiter DELIMITER

Delimiting character of the input CSV file.

-t, --tabs

Specify that the input CSV file is delimited with tabs. Overrides "-d".

-q QUOTECHAR, --quotechar QUOTECHAR

Character used to quote strings in the input CSV file.

-u {0,1,2,3}, --quoting {0,1,2,3}

Quoting style used in the input CSV file. 0 = Quote Minimal, 1 = Quote All, 2 = Quote Non-numeric, 3 = Quote None.

-b, --no-doublequote

Whether or not double quotes are doubled in the input CSV file.

-p ESCAPECHAR, --escapechar ESCAPECHAR

Character used to escape the delimiter if --quoting 3 ("Quote None") is specified and to escape the QUOTECHAR if --no-doublequote is specified.

-z FIELD_SIZE_LIMIT, --maxfieldsize FIELD_SIZE_LIMIT

Maximum length of a single field in the input CSV file.

-e ENCODING, --encoding ENCODING

Specify the encoding of the input CSV file.

-L LOCALE, --locale LOCALE

Specify the locale (en_US) of any formatted numbers.

-S, --skipinitialspace

Ignore whitespace immediately following the delimiter.

--blanks

Do not convert "", "na", "n/a", "none", "null", "." to NULL.

--date-format DATE_FORMAT

Specify a strptime date format string like "%m/%d/%Y".

--datetime-format DATETIME_FORMAT

Specify a strptime datetime format string like "%m/%d/%Y %I:%M %p".

-H, --no-header-row

Specify that the input CSV file has no header row. Will create default headers (a,b,c,...).

-K SKIP_LINES, --skip-lines SKIP_LINES

Specify the number of initial lines to skip before the header row (e.g. comments, copyright notices, empty rows).

-v, --verbose

Print detailed tracebacks when errors occur.

-l, --linenumbers

Insert a column of line numbers at the front of the output. Useful when piping to grep or as a simple primary key.

--zero

When interpreting or displaying column numbers, use zero-based numbering instead of the default 1-based numbering.

-V, --version

Display version information and exit.

-i {firebird,mssql,mysql,oracle,postgresql,sqlite,sybase}, --dialect
{firebird,mssql,mysql,oracle,postgresql,sqlite,sybase}

Dialect of SQL to generate. Cannot be used with --db.

--db CONNECTION_STRING

If present, a SQLAlchemy connection string to use to directly execute generated SQL on a database.

--query QUERY

Execute one or more SQL queries delimited by ";" and output the result of the last query as CSV. QUERY may be a filename.

--insert

Insert the data into the table. Requires --db.

--prefix PREFIX

Add an expression following the INSERT keyword, like OR IGNORE or OR REPLACE.

--before-insert BEFORE_INSERT

Execute SQL before the INSERT command. Requires --insert.

--after-insert AFTER_INSERT

Execute SQL after the INSERT command. Requires --insert.

--tables TABLE_NAMES

A comma-separated list of names of tables to be created. By default, the tables will be named after the filenames without extensions or "stdin".

--no-constraints

Generate a schema without length limits or null checks. Useful when sampling big tables.

--unique-constraint UNIQUE_CONSTRAINT

A column-separated list of names of columns to include in a UNIQUE constraint.

--no-create

Skip creating the table. Requires --insert.

--create-if-not-exists

Create the table if it does not exist, otherwise keep going. Requires --insert.

--overwrite

Drop the table if it already exists. Requires --insert. Cannot be used with --no-create.

--db-schema DB_SCHEMA

Optional name of database schema to create table(s) in.

-y SNIFF_LIMIT, --snifflimit SNIFF_LIMIT

Limit CSV dialect sniffing to the specified number of bytes. Specify "0" to disable sniffing entirely, or "-1" to sniff the entire file.

-I, --no-inference

Disable type inference when parsing the input.

--chunk-size CHUNK_SIZE

Chunk size for batch insert into the table. Requires --insert.

SEE ALSO

The full documentation for csvsql is maintained as a Texinfo manual. If the info and csvsql programs are properly installed at your site, the command

info csvsql

should give you access to the complete manual.