Polars では、CSV や Excel ファイルを読み込む際に、`infer_schema=False` を指定することで、全ての列を文字列型 (`polars.String`) として読み込むことができる。 この指定は、データ型の自動推論による予期しない変換を防ぎ、データの元の形式を保持したい場合に有用である。 ```python pl.read_csv("sample.csv") ``` ``` shape: (3, 3) ┌─────┬────────┬───────┐ │ id ┆ name ┆ price │ │ --- ┆ --- ┆ --- │ │ i64 ┆ str ┆ i64 │ ╞═════╪════════╪═══════╡ │ 1 ┆ apple ┆ 100 │ │ 2 ┆ banana ┆ 200 │ │ 3 ┆ cherry ┆ null │ └─────┴────────┴───────┘ ``` ```python pl.read_csv("sample.csv", infer_schema=False) ``` ``` shape: (3, 3) ┌─────┬────────┬───────┐ │ id ┆ name ┆ price │ │ --- ┆ --- ┆ --- │ │ str ┆ str ┆ str │ ╞═════╪════════╪═══════╡ │ 1 ┆ apple ┆ 100 │ │ 2 ┆ banana ┆ 200 │ │ 3 ┆ cherry ┆ null │ └─────┴────────┴───────┘ ``` ## 関連ノート - **[応用]** [[Python のデータフレームにハッシュ差分列を追加する]]: ハッシュ計算で元の値を保ったまま使うために、本ノートの「全列を文字列で読む」を前処理として採用する - **[派生]** [[BigQuery のダミーデータ記法は typed UNNEST を第一選択にする]]: 自動型推論を抑制する設計判断を、SQL インメモリリテラルの層で適用した類例