diff --git a/packages/components/nodes/documentloaders/Csv/Csv.ts b/packages/components/nodes/documentloaders/Csv/Csv.ts index db1a3bac6..819bfeafc 100644 --- a/packages/components/nodes/documentloaders/Csv/Csv.ts +++ b/packages/components/nodes/documentloaders/Csv/Csv.ts @@ -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 { 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)