C# 文件助手报价问题
考虑到该文件:C# 文件助手报价问题,c#,csv,filehelpers,C#,Csv,Filehelpers,考虑到该文件: "firstName"",lastName fn1,ln1 fn2 fn3,ln3 fn4,ln4 是否有可能忽略所有引用? 这是我的代码: [DelimitedRecord(",")] public partial class Person { //[FieldQuoted] private string firstName; [FieldNullValue("default first name")]
"firstName"",lastName
fn1,ln1
fn2
fn3,ln3
fn4,ln4
是否有可能忽略所有引用?
这是我的代码:
[DelimitedRecord(",")]
public partial class Person
{
//[FieldQuoted]
private string firstName;
[FieldNullValue("default first name")]
//[FieldQuoted]
private string lastName;
[FieldNotInFile]
private string city;
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
public string City
{
get { return city; }
set { city = value; }
}
}
ExcelStorage provider = new ExcelStorage(typeof(Person));
provider.FileName = "data.csv";
System.Data.DataTable datTable = provider.ExtractRecordsAsDT();
DataTable将仅包含具有以下值的1行:
{object[2]}
[0]: "firstName\",lastName\r\nfn1,ln1\r\nfn2\r\nfn3,ln3\r\nfn4,ln4\r\n"
[1]: "default first name"
我真的不明白FieldQuoted属性是什么,不管有没有它,无论我在文件中的什么地方加引号,结果都是一样的
编辑:
如果我使用
“名字”,姓
fn1,ln1
fn2
fn3,ln3
fn4,ln4
它会忽略引号,这是正常的
但是如果我使用
""firstName"",""lastName""
fn1,ln1
fn2
fn3,ln3
fn4,ln4
我得到第一行的结果
[0]: "firstName\"\""
[1]: "lastName\"\""
您的输入数据无效。至少,关于报价。CSV中的字段只能包含双引号(
“”
)和引号内的嵌入引号,并且还可以包含嵌入的换行符
这正是你在这里看到的。
firstName
后面的两个引号是嵌入的引号,由于您从不使用另一个引号关闭引号字段,因此整个文件的解析方式就像它是单个字段一样。尝试使用FieldQuoted
属性
[FieldQuoted('"', QuoteMode.AlwaysQuoted, MultilineMode.NotAllow)]
您可能需要尝试设置。我是否可以忽略文件中的所有引号?