langchain 加载 csv,json

csv

python 复制代码
from langchain_community.document_loaders.csv_loader import CSVLoader


loader = CSVLoader(file_path='data/专业描述.csv', csv_args={
    'delimiter': ',',
    'quotechar': '"',
    'fieldnames': ['专业', '描述']
}, encoding='utf8', source_column='专业')

data = loader.load()
print(data)
  • 'quotechar': '"': 设置了引用字符为双引号(")。在CSV文件中,如果某个字段值本身包含逗号或其他特殊字符,或者整个字段需要被视为一个不可分割的整体,通常会使用双引号将其包围起来。这里的设定告诉解析器如何正确识别和处理被引号包裹的字段值。

  • 'fieldnames': ['专业', '描述']: 提供了列名列表。如果CSV文件的第一行没有列名(或者不希望使用第一行作为列名),可以在这里显式指定列名。在这个例子中,列名分别为"专业"和"描述",对应到CSV文件中两列数据的实际含义。

  • source_column : '专业' 指定了一个特定的列名。这个参数的意义可能依赖于CSVLoader的具体实现细节。在某些上下文中,它可能用于指定作为后续处理主键或关键属性的列,在回溯某一行的时候可能有用

json

python 复制代码
from langchain_community.document_loaders import JSONLoader
import json
from pathlib import Path
from pprint import pprint


file_path = 'data/json_str.json'
data = json.loads(Path(file_path).read_text(encoding='utf8'))
pprint(data)

json分割

python 复制代码
import json
import requests

json_data = requests.get("https://api.smith.langchain.com/openapi.json").json()

from langchain_text_splitters import RecursiveJsonSplitter
splitter = RecursiveJsonSplitter(max_chunk_size=300)

# 最好的选择
json_chunks = splitter.split_json(json_data=json_data)  # json_data 为字典

# 把 json 当字符串了,不是最优方法
docs = splitter.create_documents(texts=[json_data])

# 也把 json 当字符串了,但结果跟 split_json 一样
texts = splitter.split_text(json_data=json_data)
print(texts[0])
print(texts[1])
相关推荐
Lsx_5 分钟前
微信支付接入全流程:JSAPI支付、小程序支付与H5支付
前端·javascript·全栈
OpenTiny社区23 分钟前
React 正式登场!GenUI SDK v1.4.0 三框架渲染、出码与 Agent 生态重磅升级~
前端·ai编程
试图让你心动32 分钟前
【无标题】
前端·javascript·vue.js
Hilaku35 分钟前
为什么每个前端都应该拥有一个自己的独立博客?
前端·javascript·程序员
燕落南枝38 分钟前
CSS 后代选择器与子代选择器:从入门到实战
前端·css
Amos_Web41 分钟前
Rspack 源码解析(二十八):HtmlRspackPlugin 如何把模板变成带资源标签的最终产物
前端
马可家的菠萝44 分钟前
个人知识库怎么建?从一个正在学的技术主题开始
前端·笔记·知识管理·个人知识库
几何心凉44 分钟前
端到端具身交互智能正式上线:让 AI 通过屏幕和机器人,真正走进现实世界
前端·人工智能·实时互动·机器人·交互
染指11101 小时前
151.Agent-LangGraph-Send发送(Map-Reduce模式)
人工智能·python·langchain·状态模式·agents
tryCbest1 小时前
Vue3——第 6 篇:事件处理与表单绑定——v-on 与 v-model
前端·javascript·vue.js