CSV文件缺少行分隔符,如何在c#中读取它?

时间:2015-10-22 05:51:52

标签: c# csv filehelpers fileparsing

我的CSV文件如下,

Name,Place,                   <<--- Headers
Panindra,India,
Kumar,India,

正如可以看到csv文件在每行末尾包含额外的“逗号”而不是空白。和Row Breaker / Line Seperator缺失,因此在“FILE HELPERS”中解析csv文件时显示错误。得到错误 “在提交['Place']”

结尾处发现了额外的逗号

如何解决这个问题??

我的Delimiter CLass就是这样的

using FileHelpers;
namespace CsvReader.Model
{ 

        [DelimitedRecord(",")]

        public class CSVModel
        {

        [FieldTrim(TrimMode.Both)]
        public string Name;

        [FieldTrim(TrimMode.Both)]
        public string Place;

}}

    ...

和解析代码就是这样......

...

 engine = new FileHelperAsyncEngine<CSVModel>();
                this.engine.Options.IgnoreFirstLines = 1;

engine.BeginReadFile(fullpath);

...

1 个答案:

答案 0 :(得分:1)

你可以写一些东西来预处理像

这样的文件
let remove x (xs : 'a array) =
    match Array.tryFindIndex ((=) x) xs with
    | Some i -> 
        let res = Array.zeroCreate (xs.Length-1)
        if i >= 1 then
            System.Array.Copy(xs,0,res,0,i)
        if i+1 < xs.Length then
            System.Array.Copy(xs,i+1,res,i,xs.Length-i-1)
        res
    | None -> xs