langchain.document_loaders.csv_loader.CSVLoader

class langchain.document_loaders.csv_loader.CSVLoader(file_path: str, source_column: Optional[str] = None, metadata_columns: Sequence[str] = (), csv_args: Optional[Dict] = None, encoding: Optional[str] = None, autodetect_encoding: bool = False)[source]

Load a CSV file into a list of Documents.

Each document represents one row of the CSV file. Every row is converted into a key/value pair and outputted to a new line in the document’s page_content.

The source for each document loaded from csv is set to the value of the file_path argument for all documents by default. You can override this by setting the source_column argument to the name of a column in the CSV file. The source of each document will then be set to the value of the column with the name specified in source_column.

Output Example:
column1: value1
column2: value2
column3: value3
Parameters
  • file_path – The path to the CSV file.

  • source_column – The name of the column in the CSV file to use as the source. Optional. Defaults to None.

  • metadata_columns – A sequence of column names to use as metadata. Optional.

  • csv_args – A dictionary of arguments to pass to the csv.DictReader. Optional. Defaults to None.

  • encoding – The encoding of the CSV file. Optional. Defaults to None.

  • autodetect_encoding – Whether to try to autodetect the file encoding.

Methods

__init__(file_path[, source_column, ...])

param file_path

The path to the CSV file.

lazy_load()

A lazy loader for Documents.

load()

Load data into document objects.

load_and_split([text_splitter])

Load Documents and split into chunks.

__init__(file_path: str, source_column: Optional[str] = None, metadata_columns: Sequence[str] = (), csv_args: Optional[Dict] = None, encoding: Optional[str] = None, autodetect_encoding: bool = False)[source]
Parameters
  • file_path – The path to the CSV file.

  • source_column – The name of the column in the CSV file to use as the source. Optional. Defaults to None.

  • metadata_columns – A sequence of column names to use as metadata. Optional.

  • csv_args – A dictionary of arguments to pass to the csv.DictReader. Optional. Defaults to None.

  • encoding – The encoding of the CSV file. Optional. Defaults to None.

  • autodetect_encoding – Whether to try to autodetect the file encoding.

lazy_load() Iterator[Document]

A lazy loader for Documents.

load() List[Document][source]

Load data into document objects.

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

Examples using CSVLoader