У меня проблема при чтении файла CSV с использованием CSVHelper, потому что он возвращает только первую строку CSV с заголовком.
Я использовал этот код при чтении файла CSV.
using (var reader = new StreamReader(filePath))
using (var csv = new CsvReader(reader))
{
csv.Configuration.RegisterClassMap<FundTransferMapSingle>();
var json = JsonConvert.SerializeObject(csv.GetRecords<FundTransferSingle>());
}
Я использовал некоторые карты для этого
public class FundTransferMapSingle : ClassMap<FundTransferSingle>
{
public FundTransferMapSingle()
{
Map(m => m.senderRefId).Name("senderRefId");
Map(m => m.transRequestDate).Name("transRequestDate");
Map(m => m.particulars).Name("particulars");
Map(m => m.sender).ConvertUsing(row =>
{
var senderlist = new List<Sender>
{
new Sender { name = row.GetField("senderName"),
address = new List<Address>
{
new Address {line1 = row.GetField("senderAddrLine1"),
line2 = row.GetField("senderAddrLine2"),
city = row.GetField("senderAddrCity"),
province = row.GetField("senderProvince"),
zipCode = row.GetField("senderAddrZipcode"),
country = row.GetField("senderAddrCountry")}
}
}
};
return senderlist;
});
}
Это CSV-файл, который я читаю
senderRefId,transRequestDate,particulars,senderName,senderAddrLine1
TRANSFER0001,2018-08-10T08:40:45.897,particulars,Name1,Address1
TRANSFER0002,2018-08-10T08:40:45.897,particulars,Name2,Address2
Я получаю результат через мою переменную json
.