【问题标题】:Delimiter Change from , (comma) to | (pipe) in nodejs分隔符从 ,(逗号)更改为 | (管道)在 nodejs 中
【发布时间】:2022-11-17 22:32:35
【问题描述】:

我有一个 .csv 格式的文件,我必须在其中将分隔符“,”更改为“|”

这是我的 CSV 文件的前几行:

BAB6-952AE17E8F65,ABCDEFG,North Lakhimpur,ASSAM,Passed,11/16/2022
BF72-A0DFA8FB69B0,PQRS,Pune,Maharastra,Not Passed,11/16/2022
9ED9-8DC499FA3659,LMNOPQO,MLP & Banglore(Series 1985),Not Passed,11/13/2022
A8EE-E811F6C05BD2,FMD,ALi Bagh,Jaipur,Haryana,Passed,11/16/2022

我标记了四个定界点。我的代码可以很好地将定界符转换为 |。但问题出在第二个定界符之后。那是地址栏,字符串中包含逗号(,),不会更改。 但是当我运行我的代码时,它当然会将所有逗号更改为 |。 我该如何处理?而且从一开始就没有固定的长度, 第一列是固定长度,但第二列不是。

这是我的代码:

 ..............
 ..............
files.forEach(path => {
 
  console.log('File Path => ' +path);
    const fs = require('fs')
    let counter = 0;
    fs.readFile(path, 'utf8', function (err, data) {
          const formatted = data.replace(/,/g, function(a) {
        counter++;
        return '|';
     });

     console.log(counter +  Numbers of delimiter Replaced Successfully.)

     fs.writeFile(path, formatted, 'utf8', function (err) {
        if (err) return console.log(err);
     });

【问题讨论】:

    标签: node.js


    【解决方案1】:

    似乎有5个部分。
    当您用逗号拆分时,第一个和第二个都可以,最后一个和上一个最后一个也可以。
    如果你有 n 个部分,取 1,2 concat 3 up to n-2, hen n-1, n。
    (我这里有非计算机到五个代码。照顾索引第一个将是索引 0,等等。)

    【讨论】:

    • 谢谢你,你能帮我更多吗?现在我可以用逗号分割数据了,但我不知道下一步该怎么做,这是逐行检查数据然后分割然后替换吗?或者是什么?
    • @WALL-E 如果您替换前 2 个和后 2 个逗号,不应该这样做吗?假设地址是您在其中使用逗号的唯一字段。
    猜你喜欢
    • 2019-05-21
    • 2020-02-02
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多