Я использую CSVHelper для синтаксического анализа файла CSV.
У меня возникли проблемы с определением пустого значения ячейки или ячейки с некоторым значением (ie один или несколько пробелов).
Проблема заключается в том, что когда пользователь добавляет только один пробел в файл в своей ячейке и загружает файл, помощник CSV обрезает это значение в ячейке, так что значение передается как "".
Теперь, когда пользователь не делает добавьте что-нибудь (или типы) в ячейку, это также передается как "".
Итак, я хочу: - Нельзя допускать, чтобы нули загружались. - Допускается один или несколько пробелов в ячейке.
Как этого добиться с помощью CSVHelper. Ниже приведен мой пример кода:
using (TextReader fileReader = new StreamReader(file.OpenReadStream()))
{
var configuration = new Configuration
{
HasHeaderRecord = parameter.HasHeader,
Delimiter = parameter.Delimiter.ToString(),
Quote = parameter.Quote
};
using (var csv = new CsvReader(fileReader, configuration))
{
for (int rowIndex = 0; await csv.ReadAsync(); rowIndex++)
{
var record = csv.GetRecord<dynamic>() as IDictionary<string, object>;
string[] row = record?.Select(i => i.Value as string).ToArray();
for (int i = 0; i < row.Length; i++)
{
//process rows
}
}
}
}
Ниже приведен пример csv:
"1"," ","1"
"2","0"," "
"3","","1"
В приведенном выше csv в первой строке есть второй столбец с одним пробелом, который должен быть разрешен, в третьей строке есть 2-й столбец с нулем, который не должен быть разрешен.
Что-нибудь в моем коде отсутствует или есть обходной путь для решения этой проблемы?
Спасибо