gpt4 book ai didi

c# - FileHelpers 库 CSV - 为什么总是从右侧的最后一列中删除一个字母?

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:12 25 4
gpt4 key购买 nike

我找到了一个非常棒的库来读取 CSV 文件 - FileHelpers ,但我有一个奇怪的问题。我会很感激一些帮助。提前致谢!

映射后,我总是从右边的最后一列中删除一个字母。

我正在使用 FileHelpers.dll 版本 2.0.0 - 来自 FileHelpers_2_0_0_bin_docs_wizard.zip 的 DotNet 2.0

例如我有一个像这样的 CSV(有些列被引用但有些没有,它可能会改变)

name;surname
"John";Smith
"Jack";Baker

读取文件后:

FileHelperEngine<SemicolonsRow> engine = new FileHelperEngine<SemicolonsRow>();
engine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;

res = engine.ReadFile("C:\\a.txt");

if (engine.ErrorManager.ErrorCount > 0)
engine.ErrorManager.SaveErrors("C:\\Log.txt");

我明白了:

res[0].Col0 with name
res[0].Col1 with surnam (lack of e at the end)
res[1].Col0 with John
res[1].Col0 with Smit (lack of h at the end)

当我这样读取文件时:

name;surname;country
"John";Smith;USA
"Jack";Baker;Canada

问题在第三列 - 所以我得到:countr US Canad

我的 FileHelpers 类:

[IgnoreEmptyLines()]
[DelimitedRecord(";")]
public sealed class SemicolonsRow
{
[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String Col0;

[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String Col1;

[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String Col2;

[FieldOptional()]
[FieldQuoted('"', QuoteMode.OptionalForRead, MultilineMode.AllowForRead)]
public String Col3;
}

有什么想法吗?

最佳答案

这是可选字段的老问题和发布后解决的一些其他条件,但我们永远没有时间进行完整发布

您可以从这里下载解决问题的最新稳定版本:

http://teamcity.codebetter.com/viewLog.html?buildId=lastSuccessful&buildTypeId=bt66&tab=artifacts&guest=1

关于c# - FileHelpers 库 CSV - 为什么总是从右侧的最后一列中删除一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com