Удалить значения из строк в определенных столбцах в CSV-файле - PullRequest
0 голосов
/ 04 декабря 2018

В настоящее время я пытаюсь удалить определенные значения из строк в определенных столбцах в CSV-файле.

Каков наилучший способ сделать это?

Это использовать карту XSLTфайл в коде или делать это только по коду?(Используя c #)

Что я хочу сделать, это:

ДО МАНИПУЛЯЦИИ:

 id, name, email, phoneNumber, dob 
 1,John Doe,JohnDoe@mail.com,123456789,1988-08-08
 2,Jane Doe,JaneDoe@mail.com,987654321,1987-07-07

ПОСЛЕ МАНИПУЛЯЦИИ:

 id, name, email, phoneNumber, dob 
 1,John Doe,,,1988-08-08 
 2,Jane Doe,,,1987-07-07

Как выможет видеть "электронная почта" и "phoneNumber" ушел

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вы можете использовать C # без каких-либо библиотек для разделения и объединения строк CSV.это проще, чем использовать XLST.Как образец:

 String csv = "1,John Doe,JohnDoe@mail.com,123456789,1988-08-08";
 String[] csvList = csv.Split(',');
 csvList[2] = "";
 csvList[3] = "";
 csv = String.Join(",", csvList);
0 голосов
/ 04 декабря 2018

Лучший способ очень сильно зависит от личных предпочтений.Для меня лучшим способом было бы использовать sed.Предполагая, что ваши данные находятся в data.csv файле:

cat data.csv | sed '2,$ s/\([^,]*\),\(.[^,]*\),\(.[^,]*\),\([^,]*\),\([^,]*\)/\1,\2,,,\5/' > output.csv
...