CSV加载器#
- class langchain_community.document_loaders.csv_loader.CSVLoader(file_path: str | Path, source_column: str | None = None, metadata_columns: Sequence[str] = (), csv_args: Dict | None = None, encoding: str | None = None, autodetect_encoding: bool = False, *, content_columns: Sequence[str] = ())[source]#
将CSV文件加载到文档列表中。
每个文档代表CSV文件的一行。每一行都被转换为键/值对,并输出到文档的page_content中的新行。
默认情况下,从csv加载的每个文档的源都设置为所有文档的file_path参数的值。 您可以通过将source_column参数设置为CSV文件中的列名来覆盖此设置。 然后,每个文档的源将设置为source_column中指定的列名的值。
- Output Example:
column1: value1 column2: value2 column3: value3
- Instantiate:
from langchain_community.document_loaders import CSVLoader loader = CSVLoader(file_path='./hw_200.csv', csv_args={ 'delimiter': ',', 'quotechar': '"', 'fieldnames': ['Index', 'Height', 'Weight'] })
- Load:
docs = loader.load() print(docs[0].page_content[:100]) print(docs[0].metadata)
Index: Index Height: Height(Inches)" Weight: "Weight(Pounds)" {'source': './hw_200.csv', 'row': 0}
- Async load:
docs = await loader.aload() print(docs[0].page_content[:100]) print(docs[0].metadata)
Index: Index Height: Height(Inches)" Weight: "Weight(Pounds)" {'source': './hw_200.csv', 'row': 0}
- Lazy load:
docs = [] docs_lazy = loader.lazy_load() # async variant: # docs_lazy = await loader.alazy_load() for doc in docs_lazy: docs.append(doc) print(docs[0].page_content[:100]) print(docs[0].metadata)
Index: Index Height: Height(Inches)" Weight: "Weight(Pounds)" {'source': './hw_200.csv', 'row': 0}
- Parameters:
file_path (str | Path) – CSV文件的路径。
source_column (str | None) – CSV文件中用作源的列名。 可选。默认为None。
metadata_columns (Sequence[str]) – 用作元数据的列名序列。可选。
csv_args (Dict | None) – 传递给 csv.DictReader 的参数字典。 可选。默认为 None。
encoding (str | None) – CSV文件的编码。可选。默认为None。
autodetect_encoding (bool) – 是否尝试自动检测文件编码。
content_columns (Sequence[str]) – 用于文档内容的列名序列。 如果未提供,则使用所有不属于元数据的列。
方法
__init__
(file_path[, source_column, ...])一个用于文档的懒加载器。
aload
()将数据加载到Document对象中。
一个用于文档的懒加载器。
load
()将数据加载到Document对象中。
load_and_split
([text_splitter])加载文档并将其分割成块。
- __init__(file_path: str | Path, source_column: str | None = None, metadata_columns: Sequence[str] = (), csv_args: Dict | None = None, encoding: str | None = None, autodetect_encoding: bool = False, *, content_columns: Sequence[str] = ())[源代码]#
- Parameters:
file_path (str | Path) – CSV文件的路径。
source_column (str | None) – CSV文件中用作源的列名。 可选。默认为None。
metadata_columns (Sequence[str]) – 用作元数据的列名序列。可选。
csv_args (Dict | None) – 传递给 csv.DictReader 的参数字典。 可选。默认为 None。
encoding (str | None) – CSV文件的编码。可选。默认为None。
autodetect_encoding (bool) – 是否尝试自动检测文件编码。
content_columns (Sequence[str]) – 用于文档内容的列名序列。 如果未提供,则使用所有不属于元数据的列。
- load_and_split(text_splitter: TextSplitter | None = None) list[Document] #
加载文档并将其分割成块。块以文档形式返回。
不要重写此方法。它应该被视为已弃用!
- Parameters:
text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。
- Returns:
文档列表。
- Return type:
列表[Document]
使用 CSVLoader 的示例