lector.csv.abc#
Fast and robust parser for potentially messy CSV data.
Classes#
Remove null bytes on the fly. |
|
Holds all parameters needed to successfully read a CSV file. |
|
Base class for CSV readers. |
Functions#
|
Check if a binary or text buffer is empty (from current position onwards). |
Attributes#
- exception lector.csv.abc.EmptyFileError[source]#
Bases:
ExceptionRaised when a binary file read() returns 0 bytes.
- class lector.csv.abc.CleanTextBuffer[source]#
Bases:
io.TextIOWrapperRemove null bytes on the fly.
- class lector.csv.abc.Format[source]#
Holds all parameters needed to successfully read a CSV file.
- dialect: lector.csv.dialects.Dialect | None[source]#
- class lector.csv.abc.Reader(fp, encoding=None, dialect=None, preamble=None, log=True)[source]#
Bases:
abc.ABCBase class for CSV readers.
- Parameters:
fp (FileLike) –
encoding (str | lector.csv.encodings.EncodingDetector | None) –
dialect (dict | lector.csv.dialects.Dialect | lector.csv.dialects.DialectDetector | None) –
preamble (int | PreambleRegistry | None) –
log (bool) –
- decode(fp)[source]#
Make sure we have a text buffer.
- Parameters:
fp (FileLike) –
- Return type:
TextIO
- classmethod detect_columns(buffer, dialect)[source]#
Extract column names from buffer pointing at header row.
- Parameters:
buffer (TextIO) –
dialect (lector.csv.dialects.Dialect) –
- Return type:
list[str]
- detect_dialect(buffer)[source]#
Detect separator, quote character etc.
- Parameters:
buffer (TextIO) –
- Return type:
dict
- detect_preamble(buffer)[source]#
Detect the number of junk lines at the start of the file.
- Parameters:
buffer (TextIO) –
- Return type:
int