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文件的路径。

alazy_load()

Documents的懒加载器。

aload()

将数据加载到Document对象中。

lazy_load()

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) – 是否尝试自动检测文件编码。

async alazy_load() AsyncIterator[Document]

Documents的懒加载器。

返回类型

AsyncIterator[Document]

async aload() List[Document]

将数据加载到Document对象中。

返回类型

列表[文档]

lazy_load() Iterator[文档][源代码]

Documents的懒加载器。

返回类型

迭代器[文档]

load() List[文档]

将数据加载到Document对象中。

返回类型

列表[文档]

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

加载文档并将其分割成块。块会以文档的形式返回。

不要重写此方法。应考虑将其弃用!

参数

text_splitter (可选[TextSplitter]) – 用于分割文档的 TextSplitter 实例。默认为 RecursiveCharacterTextSplitter。

返回

文档列表。

返回类型

List[文档]

使用 CSVLoader 的示例