Javascript 如何解析 csv 以创建新列
Javascript how to parse csv to create new columns
我有一个 .csv
行中有描述字符串,我需要解析它们的内容,但如果其中有 \n
或 ,
,解析就会出错。
使用 papa parse 我可以获得数组中的 headers 和行值,但是我需要解析描述值 (rowsId[4]
) 并将其拆分为列。
.csv
(从电子商务导出):
ID,COD,Name,Dscription,Meta
1234,#324,box"<ul>
\n<li>Dimensions: 37 x 45,5 x 203,5(h) cm</li>
\n<li>made of wood</li>
\n</ul>",789
预期输出:
rowId = [1234, #324, "box", "Dimensions: 37 x 45,5 x 203,5(h) cm", "made of wood", 789];
.csv
(最终)
ID,COD,Name,Dscription1,Dscription2,Meta
1234,#324,box,"Dimensions: 37 x 45,5 x 203,5(h) cm","made of wood",789
如何拆分排除 " "
之间的 \n
和 ,
?
您可以为此使用正则表达式:
let rawData = "<ul>\
\n<li>Dimensions: 37 x 45,5 x 203,5(h) cm</li>\
\n<li>made of wood</li>\
\n</ul>"
console.log(rawData)
const regexp = /<li>(.*)<\/li>/g
const data = rawData.match(regexp).map(el => {
return el.replace(/<\/?li>/g, '')
})
console.log(data)
// Array [ "Dimensions: 37 x 45,5 x 203,5(h) cm", "made of wood" ]
我有一个 .csv
行中有描述字符串,我需要解析它们的内容,但如果其中有 \n
或 ,
,解析就会出错。
使用 papa parse 我可以获得数组中的 headers 和行值,但是我需要解析描述值 (rowsId[4]
) 并将其拆分为列。
.csv
(从电子商务导出):
ID,COD,Name,Dscription,Meta
1234,#324,box"<ul>
\n<li>Dimensions: 37 x 45,5 x 203,5(h) cm</li>
\n<li>made of wood</li>
\n</ul>",789
预期输出:
rowId = [1234, #324, "box", "Dimensions: 37 x 45,5 x 203,5(h) cm", "made of wood", 789];
.csv
(最终)
ID,COD,Name,Dscription1,Dscription2,Meta
1234,#324,box,"Dimensions: 37 x 45,5 x 203,5(h) cm","made of wood",789
如何拆分排除 " "
之间的 \n
和 ,
?
您可以为此使用正则表达式:
let rawData = "<ul>\
\n<li>Dimensions: 37 x 45,5 x 203,5(h) cm</li>\
\n<li>made of wood</li>\
\n</ul>"
console.log(rawData)
const regexp = /<li>(.*)<\/li>/g
const data = rawData.match(regexp).map(el => {
return el.replace(/<\/?li>/g, '')
})
console.log(data)
// Array [ "Dimensions: 37 x 45,5 x 203,5(h) cm", "made of wood" ]