langchain_community.document_loaders.csv_loader
.CSVLoader¶
- class langchain_community.document_loaders.csv_loader.CSVLoader(file_path: Union[str, Path], source_column: Optional[str] = None, metadata_columns: Sequence[str] = (), csv_args: Optional[Dict] = None, encoding: Optional[str] = None, autodetect_encoding: bool = False)[源代码]¶
将CSV文件加载到文档列表中。
每个文档代表CSV文件中的一行。每一行被转换为键值对,并输出到文档的page_content的新行中。
默认情况下,从csv加载的每个文档的来源设置为allis参数的文件路径值。您可以通过将source_column参数设置为CSV文件中的列名来覆盖此设置。然后,每个文档的来源将被设置为指定在source_column中的列的值。
- 输出示例
column1: value1 column2: value2 column3: value3
- 实例化
from langchain_community.document_loaders import CSVLoader loader = CSVLoader(file_path='./hw_200.csv', csv_args={ 'delimiter': ',', 'quotechar': '"', 'fieldnames': ['Index', 'Height', 'Weight'] })
- 加载
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}
- 异步加载
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}
- 懒加载
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}
- 参数
file_path (Union[str, Path]) – CSV文件的路径。
source_column (Optional[str]) – 用作来源的CSV文件中的列名。可选。默认值为None。
metadata_columns (Sequence[str]) – 用作元数据的列名序列。可选。
csv_args (Optional[Dict]) – 将传递给csv.DictReader的参数字典。可选。默认值为None。
encoding (Optional[str]) – CSV文件的编码。可选。默认值为None。
autodetect_encoding (bool) – 是否尝试自动检测文件编码。
方法
__init__
(file_path[, source_column, ...])- 参数 file_path
CSV文件的路径。
Documents的懒加载器。
aload
()将数据加载到Document对象中。
Documents的懒加载器。
load
()将数据加载到Document对象中。
load_and_split
([text_splitter])加载Documents并将它们分割成块。
- __init__(file_path: Union[str, Path], source_column: Optional[str] = None, metadata_columns: Sequence[str] = (), csv_args: Optional[Dict] = None, encoding: Optional[str] = None, autodetect_encoding: bool = False)[source]¶
- 参数
file_path (Union[str, Path]) – CSV文件的路径。
source_column (Optional[str]) – 用作来源的CSV文件中的列名。可选。默认值为None。
metadata_columns (Sequence[str]) – 用作元数据的列名序列。可选。
csv_args (Optional[Dict]) – 将传递给csv.DictReader的参数字典。可选。默认值为None。
encoding (Optional[str]) – CSV文件的编码。可选。默认值为None。
autodetect_encoding (bool) – 是否尝试自动检测文件编码。
- load_and_split(text_splitter: Optional[TextSplitter] = None) List[文档] ¶
加载文档并将其分割成块。块会以文档的形式返回。
不要重写此方法。应考虑将其弃用!
- 参数
text_splitter (可选[TextSplitter]) – 用于分割文档的 TextSplitter 实例。默认为 RecursiveCharacterTextSplitter。
- 返回
文档列表。
- 返回类型
List[文档]