mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-27 08:25:07 +00:00
perf: csv导入导出
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import mammoth from 'mammoth';
|
||||
import Papa from 'papaparse';
|
||||
|
||||
/**
|
||||
* 读取 txt 文件内容
|
||||
@@ -97,13 +98,15 @@ export const readDocContent = (file: File) =>
|
||||
*/
|
||||
export const readCsvContent = async (file: File) => {
|
||||
try {
|
||||
const textArr = (await readTxtContent(file)).split('\n');
|
||||
const header = textArr.shift()?.split(',');
|
||||
if (!header) {
|
||||
throw new Error('csv 格式错误');
|
||||
const textArr = await readTxtContent(file);
|
||||
const json = Papa.parse(textArr).data as string[][];
|
||||
if (json.length === 0) {
|
||||
throw new Error('csv 解析失败');
|
||||
}
|
||||
// 拆分每一行数据
|
||||
const data = [];
|
||||
return {
|
||||
header: json.shift()?.filter((item) => item) as string[],
|
||||
data: json.map((item) => item?.filter((item) => item))
|
||||
};
|
||||
} catch (error) {
|
||||
return Promise.reject('解析 csv 文件失败');
|
||||
}
|
||||
|
@@ -76,5 +76,5 @@ export const formatVector = (vector: number[]) => {
|
||||
* 字符串清理,替换换行符号
|
||||
*/
|
||||
export const clearStrLineBreak = (str: string) => {
|
||||
return str.replace(/\n/g, '\n').replace(/\n/g, '\\n').trim();
|
||||
return str.replace(/\n+/g, '\n').replace(/\n/g, '\\n').trim();
|
||||
};
|
||||
|
Reference in New Issue
Block a user