我用fs包读取csv文件并使用csv-parse解析结果。结果是这样的数组:
[ [ 'nama_venue\tketerangan' ],
[ 'Ruang Kelas A1.1\truang_kelas' ],
[ 'Ruang Kelas A1.2\truang_kelas' ],
[ 'Ruang Kelas A1.3\truang_kelas' ],
[ 'Ruang Kelas A1.4\truang_kelas' ],
[ 'Ruang Kelas A1.5\truang_kelas' ],
[ 'Ruang Kelas A1.6\truang_kelas' ],
当我想将数据插入db时,问题就出现了。 Coz mysql包需要像我的数组中的[[a, b], [b, c]]
而不是[[a\tb],[b\tc]]
这样的数组。怎么做谢谢。
答案 0 :(得分:0)
假设您的数组名为array
,请使用:
array.map(a => a.map(s => s.replace('\t', '')))
示例:
const array = [[ 'nama_venue\tketerangan' ],
[ 'Ruang Kelas A1.1\truang_kelas' ],
[ 'Ruang Kelas A1.2\truang_kelas' ],
[ 'Ruang Kelas A1.3\truang_kelas' ],
[ 'Ruang Kelas A1.4\truang_kelas' ],
[ 'Ruang Kelas A1.5\truang_kelas' ],
[ 'Ruang Kelas A1.6\truang_kelas' ]]
const array2 = array.map(a => a.map(s => s.replace('\t', '')))
console.log(array2)

答案 1 :(得分:0)
看起来您的csv解析器正在解析换行符,但不是制表符分隔符。你可以这样做:
parser(data, { delimiter : '\t' })
根据文档:
设置字段分隔符。仅限一个角色。默认为“,”(逗号)。