File tree Expand file tree Collapse file tree
src/polars_access_mdbtools Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66import re
77import subprocess
88import warnings
9+ from collections .abc import Sequence
910from pathlib import Path
1011
1112import polars as pl
@@ -192,13 +193,15 @@ def read_table(
192193 table_name : str ,
193194 * ,
194195 implicit_string : bool = True ,
196+ null_values : Sequence [str ] = (),
195197) -> pl .DataFrame :
196198 """Read a MS Access database as a Polars DataFrame.
197199
198200 :param db_path: The MS Access database file.
199201 :param table_name: The name of the table to process.
200202 :param implicit_string: If True, mark strings and unknown datatypes as `pl.String`.
201203 Otherwise, raise an error on unhandled SQL data types.
204+ :param null_values: Additional string values to treat as nulls.
202205 :return: a `pl.DataFrame`
203206 """
204207 mdb_schema = _read_table_mdb_schema (db_path , table_name )
@@ -262,6 +265,11 @@ def read_table(
262265 df = pl .read_csv (
263266 csv_io ,
264267 schema = pl_schema_read ,
268+ null_values = [
269+ "1900-01-00T00:00:00" , # Insane datetime value.
270+ "1900-01-00" , # Insane date value.
271+ * null_values ,
272+ ],
265273 )
266274
267275 # Convert binary columns to hex.
You can’t perform that action at this time.
0 commit comments