Почему CsvHelper получает ошибку отсутствия заголовка?

Я хочу сохранить список с заголовками в файл csv, а затем прочитать его обратно.

Но мне нужно DateTimes, чтобы показывать миллисекунды плюс.

Я могу написать это нормально, изменив культуру. Но при чтении я получаю сообщение об ошибке заголовка.

private class TradeData
{
    public string Symbol { get; set; }
    public DateTime utcDT { get; set; }
    public int SignedAmount { get; set; }
    public double MidPrice { get; set; }
    public double BidPrice { get; set; }
    public double AskPrice { get; set; }
}

private static List<TradeData> Trades = new List<TradeData>();

public static void WriteIt()
{
    using (var writer = new StreamWriter(Path.Combine(jobDirectoryPath, runName, "TickTraderSim7.csv")))
    using (var csv = new CsvWriter(writer))
    {
        var myCI = CultureInfo.GetCultureInfo("en-US");
        CultureInfo myCIclone = (CultureInfo)myCI.Clone();
        myCIclone.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
        myCIclone.DateTimeFormat.LongTimePattern = "HH:mm:ss.ffffff";
        csv.Configuration.CultureInfo = myCIclone;
        csv.WriteRecords(Trades);
    }
}

public static void ReadIt()
{
    using (var reader = new StreamReader(Path.Combine(jobDirectoryPath, runName, "TickTraderSim7.csv")))
    using (var csv = new CsvReader(reader))
    {

        var myCI = CultureInfo.GetCultureInfo("en-US");
        CultureInfo myCIclone = (CultureInfo)myCI.Clone();
        myCIclone.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
        myCIclone.DateTimeFormat.LongTimePattern = "HH:mm:ss.ffffff";
        csv.Configuration.CultureInfo = myCIclone;
        var x = csv.GetRecords<TradeData>();
        Trades = x.Select(f => (TradeData)f).ToList();
    }
}

person ManInMoon    schedule 05.04.2019    source источник
comment
Взгляните на это   -  person Matt.G    schedule 05.04.2019
comment
Может, стоит писать заголовки вручную. Добавить заголовок вручную в CsvHelper.CsvWriter writer.WriteHeader ‹TradeData› ();   -  person vik_78    schedule 05.04.2019
comment
Написание CSV действительно легко и быстро, неужели вы действительно тратите время на изменение поведения библиотеки вместо написания кода из пяти строк?   -  person Marco Salerno    schedule 05.04.2019
comment
Какая у вас строка подключения? Это HDR = ДА или HDR = Нет. См .: connectionstrings.com/excel, код использует соединение oledb, а настройки заголовка неверны. Примечание: соединение oledb также имеет три режима cmd.CommandType = CommandType.Text // (по умолчанию) или TableDirect, или StoredProcedure   -  person jdweng    schedule 05.04.2019
comment
@MarcoSalerno Я хотел избежать синтаксического анализа самостоятельно. Но, похоже, мне придется ...   -  person ManInMoon    schedule 05.04.2019
comment
@ManInMoon Может быть, вы могли бы привести несколько примеров данных. Не пишет ли заголовок в ваш файл? Я составил свой собственный пример данных, и он отлично работал как для записи, так и для чтения. Может быть, проблема культуры? Моя местная культура - это американская.   -  person David Specht    schedule 05.04.2019