add single column extraction

This commit is contained in:
chungyau97 2023-04-16 00:56:16 +07:00
parent 1e18c289cb
commit 256550f953
1 changed files with 10 additions and 1 deletions

View File

@ -32,6 +32,14 @@ class Csv_DocumentLoaders implements INode {
name: 'textSplitter',
type: 'TextSplitter',
optional: true
},
{
label: 'Single Column Extraction',
name: 'columnName',
type: 'string',
description: 'Extracting a single column',
placeholder: "Enter column name",
optional: true
}
]
}
@ -39,12 +47,13 @@ class Csv_DocumentLoaders implements INode {
async init(nodeData: INodeData): Promise<any> {
const textSplitter = nodeData.inputs?.textSplitter as TextSplitter
const csvFileBase64 = nodeData.inputs?.csvFile as string
const columnName = nodeData.inputs?.columnName as string
const splitDataURI = csvFileBase64.split(',')
splitDataURI.pop()
const bf = Buffer.from(splitDataURI.pop() || '', 'base64')
const blob = new Blob([bf])
const loader = new CSVLoader(blob)
const loader = new CSVLoader(blob, columnName.trim().length === 0 ? undefined : columnName.trim())
if (textSplitter) {
const docs = await loader.loadAndSplit(textSplitter)