Skip to main content

Detect types of columns in delimited files using DuckDB and pandas

Project description

Column Type Detector

A simple Python utility to detect the data types of columns in a delimited file using DuckDB and Pandas.

Overview

This tool loads a delimited file into an in-memory DuckDB database treating all columns as VARCHAR.
It analyzes each column to detect data types: int, float, double, str, or null, and outputs a summary table.

Requirements

  • Python >=3.12.3+
  • duckdb >=1.3.2
  • pandas >=2.1.4

Installation

pip install duckdb>=1.3.2 pandas>=2.1.4

Example CLI Wrapper

from columnTypeDetector import load_data_as_varchar, get_column_names, detect_column_types

con = load_data_as_varchar('/content/sample_data/All_Customers.csv',',')

get_column_names(con,"raw_data")

detect_column_types(con,"raw_data")

Sample Output

Here is an example output of the type detection:

col float int null str double total
Address1 0 3 0 2496 0 2499
Address2 0 0 2499 0 0 2499
Address3 0 0 2499 0 0 2499
City 0 0 7 2492 0 2499
City2 0 0 2495 4 0 2499
Company 1 0 0 2498 0 2499
Country 0 0 58 2441 0 2499
CreateDate 0 0 0 2499 0 2499
Currency 0 81 0 2418 0 2499
CustomerID 0 2495 0 4 0 2499
CustomerTier 0 457 171 1871 0 2499
Firstname 0 0 0 2499 0 2499
Lastname 0 0 0 2499 0 2499
MiscDate 0 0 0 2499 0 2499
OrderAmount 0 2498 0 1 0 2499
PrefDelivMethod 0 0 0 2499 0 2499
State 0 107 0 2392 0 2499
Status 0 0 0 2499 0 2499
Zip 0 2410 0 89 0 2499

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

columntypedetector-0.1.5.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

columntypedetector-0.1.5-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file columntypedetector-0.1.5.tar.gz.

File metadata

  • Download URL: columntypedetector-0.1.5.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for columntypedetector-0.1.5.tar.gz
Algorithm Hash digest
SHA256 8733e58d0b5768218099da0819dccaad60994e67ba8b6392bacba34e03567a46
MD5 301f85c17be7090f1db7aa1ba336564d
BLAKE2b-256 b86763a4616cad9f674f9b448d56c7a3bccaa65004eb06c5940ea8f08aef991e

See more details on using hashes here.

File details

Details for the file columntypedetector-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for columntypedetector-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c8431a61ccb4736cb00437e6ea342f2eaeb2f97f38862975777bf920948922cc
MD5 6ef4865ec1606bb3006de37afc14575a
BLAKE2b-256 9706db3ed93ea895a01ea0ae5b57695ef3bfdac2ae55cc07d7f369e2f08fb947

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page