alan-turing-institute/CleverCSV

CleverCSV is a Python package for handling messy CSV files. It provides a drop-in replacement for the builtin CSV module with improved dialect detection, and comes with a handy command line application for working with CSV files.

解決する課題

CSVファイルには普遍的なフォーマット標準が存在しないことが多く、区切り文字、引用符、エスケープ文字が不一致な「乱雑な」ファイルになりがちで、取り扱いが困難です。CleverCSVは、正しいファイルフォーマット(または「ダイアレクト」)を高精度で自動検出することでこの問題を解決し、手動での確認なしにファイルの読み込みと処理を可能にします。

仕組み

CleverCSVは、CSVファイル内の行の長さやデータ型のパターンを分析して構造を特定する、研究に基づいたアプローチを採用しています。Pythonの組み込み csv モジュールのドロップインリプレースメントとして機能し、改良されたダイアレクト検出機能や、データをリストやPandas DataFramesに直接読み込むための便利な関数群を提供します。

対象ユーザー

実世界のCSVファイルを頻繁に扱い、ファイルごとにカスタム解析ロジックを書くことなく、一貫性のないフォーマットを信頼性の高い自動化された方法で処理したいデータサイエンティスト、開発者、研究者向けに設計されています。

ハイライト

  • ダイアレクト検出において97%の精度を達成し、乱雑なファイルに対して標準ライブラリのツールを大幅に上回る性能を発揮します。
  • CSVファイルの迅速な検査、標準化、またはPythonインポートコードの生成を行うためのコマンドラインインターフェースを提供します。
  • Pandasとのシームレスな統合により、容易なデータ分析を実現します。
  • バージョン管理リポジトリ内のCSVファイルを自動的に標準化するためのpre-commit hookが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト