The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →DuckDB can run SQL against a CSV file directly: install its command-line interface (CLI) or Python package, then query the file path. For an ad hoc query, you do not need to load the file into a database table first.
Choose the CLI or Python
Use the CLI if you want to run SQL interactively from a terminal. Choose Python if your query belongs in a script or notebook. Both routes can query the same CSV directly; the right choice depends on your workflow, not a blanket performance ranking.
As an Amazon Associate I earn from qualifying purchases.
| Route | Setup | Good fit |
|---|---|---|
| CLI | Download and unzip DuckDB, then run the executable. | Quick interactive SQL in a terminal. |
| Python | Install the duckdb package with pip or conda. |
Queries in Python scripts and notebooks. |
DuckDB’s installation page lists 1.5.6 as the current stable release and 1.4.5 as LTS; these labels reflect the page at the time of writing and can change. See DuckDB installation options.
Install and start the CLI
The CLI is a single executable for Windows, macOS, and Linux. The official guide offers installation scripts, direct downloads, and Docker. For a direct download, choose the build for your operating system, unzip it, open a terminal in the extracted directory, and run the executable. In a POSIX shell, the command is ./duckdb; on Windows, run the downloaded executable from Command Prompt or PowerShell.
#1 Best Overall
- USB-C 2-in-1 storage OTG: The Lexar JumpDrive Dual Drive D40E features USB Type-A and Type-C connectors in a slim, portable form factor for easy device compatibility
- Transfer speeds up to 100MB/s: Based on internal testing, performance may vary depending upon the host device, interface, and usage conditions. 1MB=1,000,000 bytes
- Plug and Play: Widely compatible with USB Type-C smartphones, tablets, laptops, Macs, and traditional Type-A devices, no software installation required. The 360° swivel design allows for easy switching between connectors without the hassle of losing a cap
- Durable & Compact: The Lexar D40E USB memory stick features a metal enclosure, withstands temperatures from 0° to 50° C (32°F to 122°F), and is lightweight at 26g with dimensions of 70.4 x 16.9 x 11.7mm
- Security & Warranty: Securely protects files using an advanced security software solution with 256-bit AES encryption. Backed by a Lexar 3-year limited warranty
Run duckdb without a database filename to open a temporary in-memory database. If you want queries or tables to use a database file, provide its filename when starting the CLI, for example duckdb analytics.db. Consult the CLI guide for platform-specific details.
Install the Python package
DuckDB’s Python overview documents Python 3.9 or newer. Install with either pip or conda:
pip install duckdb
conda install python-duckdb -c conda-forge
The Python overview labels its client version 1.5.5, while the installation page lists 1.5.6 as current stable; those page labels are not necessarily the same release snapshot. See the Python API overview.
Rank #2
- High-speed USB 3.0 performance of up to 150MB/s(1) [(1) Write to drive up to 15x faster than standard USB 2.0 drives (4MB/s); varies by drive capacity. Up to 150MB/s read speed. USB 3.0 port required. Based on internal testing; performance may be lower depending on host device, usage conditions, and other factors; 1MB=1,000,000 bytes]
- Transfer a full-length movie in less than 30 seconds(2) [(2) Based on 1.2GB MPEG-4 video transfer with USB 3.0 host device. Results may vary based on host device, file attributes and other factors]
- Transfer to drive up to 15 times faster than standard USB 2.0 drives(1)
- Sleek, durable metal casing
- Easy-to-use password protection for your private files(3) [(3)Password protection uses 128-bit AES encryption and is supported by Windows 7, Windows 8, Windows 10, and Mac OS X v10.9 plus; Software download required for Mac, visit the SanDisk SecureAccess support page]
Query a CSV by its path
In the CLI, run SQL using the CSV filename as the relation:
SELECT * FROM 'data.csv';
The equivalent explicit reader syntax is:
SELECT * FROM read_csv('data.csv');
In Python, import the package and execute the query:
import duckdb
duckdb.sql("SELECT * FROM 'data.csv'").show()
You can also read the CSV as a relation with duckdb.read_csv("data.csv"). These forms read the file directly; they do not create a persistent database table. Replace data.csv with a path relative to the process’s working directory or with an absolute path. If DuckDB cannot find the file, check the working directory and path spelling. The CSV import guide documents direct querying and loading options, and the Python data-ingestion guide covers Python reader usage.
Rank #3
- What You Get - 2 pack 64GB genuine USB 2.0 flash drives, 12-month warranty and lifetime friendly customer service
- Great for All Ages and Purposes – the thumb drives are suitable for storing digital data for school, business or daily usage. Apply to data storage of music, photos, movies and other files
- Easy to Use - Plug and play USB memory stick, no need to install any software. Support Windows 7 / 8 / 10 / Vista / XP / Unix / 2000 / ME / NT Linux and Mac OS, compatible with USB 2.0 and 1.1 ports
- Convenient Design - 360°metal swivel cap with matt surface and ring designed zip drive can protect USB connector, avoid to leave your fingerprint and easily attach to your key chain to avoid from losing and for easy carrying
- Brand Yourself - Brand the flash drive with your company's name and provide company's overview, policies, etc. to the newly joined employees or your customers
Check CSV inference if results look wrong
DuckDB attempts to detect a CSV’s delimiter, quoting and escaping rules, header presence, and column types. Its documented default type-inference sample is 20,480 rows (DuckDB documentation; publication year not stated). Because inference is sample-based, a column that changes type later in the file may not be interpreted as you expect.
Recommended Free Tools
For regular files, DuckDB can sample from different positions. For non-seekable inputs such as gzip CSV or standard input, samples come from the beginning. If later rows may differ, inspect the inferred types rather than assuming the first rows represent the whole file.
- Run
sniff_csv('data.csv')to inspect the detected settings and a suggested reader prompt. - Set reader options explicitly when needed, such as
delimfor a nonstandard delimiter orheaderwhen header detection is wrong. - Specify column types when automatic type inference does not match the data.
- Use
sample_size = -1to sample the full file when that trade-off is appropriate; larger files may take longer to inspect.
The CSV auto-detection guide explains inference and its options.
Rank #4
- GOOD VALUE PACKAGE - 1 Pack 32GB Memory Stick USB 2.0 Flash Drives with great cost performance and high quality.
- BIG CAPACITY - The available capacity: 29.10GB-29.8GB, You can save the data of movies, music, photos, designs, programs, manuals, handouts in a high speed.Good performance in digital data storing, transferring and sharing with families, friends, workmates, clients and machines.
- EASY TO USE & PLUG AND WORK - Support windows 7 / 8 / 10 / Vista / XP / 2000 / ME / NT Linux and Mac OS, Compatible with USB2.0 and below.
- TWISTTURN DESIGN & EASY CARRY - The metal clip rotates 360° round the ABS plastic body which with rubber oil skin feeling finish. The capless design can avoid lossing of cap, and providing efficient protection to the USB port.
- WARRANTY & SUPPORT - SIMMAX logo is laser printed on the USB connector surface, our products are of good quality and we promise that any problem about the product within one year since you buy.
Use a persistent table only when you need one
Direct path queries are convenient for one-off analysis. To keep a table in a DuckDB database, create it from the CSV with:
CREATE TABLE my_table AS
SELECT * FROM 'data.csv';
DuckDB also documents COPY and INSERT INTO ... SELECT for loading data into an existing table. The distinction is whether you want a reusable table in a database, not whether DuckDB is capable of importing the file. See Importing Data.
Read compressed or remote CSV files
Local gzip files
DuckDB documents direct reading of local gzip-compressed CSV files by filename. Use the compressed file path in a query as you would a local CSV path.
Best Value
- 【16GB Flash Drive】USB flash drives with 16GB capacity, meet your needs of daily use on work, school, home and travelling for photos, music, videos, files storage and transfer. IMEASON thumb drives can be used to store different files, easy to data backup.
- 【Metal Swivel Cap Design】USB thumb drive is metal swivel cover provides extra protection for the usb thumbdrive connector, no usb drive cap to lose; keychain design makes it easier to carry without worrying lose it.
- 【Wide Compatibility】USB drive supports Windows 7/8/10/11 / Vista / XP / Unix / 2000 / ME / NT Linux and Mac OS, also Supports USB 2.0 and 1.1 ports. USB Stick support TV, desktop, notebook computer, car, audio and other device. The USB Memory Stick is your great data storage and transfer companion with traveling and working.
- 【Easy to use】usb memory stick is plug and play without any software installation. Just simply plug the Flashdrive into the port of your USB-compatible devices such as computer, laptop to start data storage or transmission.
- 【What You Get】16 GB USB Flash Drive Thumb Drive, The default format of the usb storage flash drive is FAT32.
HTTP(S) files
Reading a CSV over HTTP or HTTPS requires DuckDB’s httpfs extension. Install and load it in the CLI or SQL session, then query the remote path:
INSTALL httpfs;
LOAD httpfs;
SELECT * FROM read_csv('https://example.org/data.csv');
Replace the example URL with the actual CSV address. The HTTP CSV import guide covers this setup.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




