У меня есть метод, описанный ниже, я пытаюсь очистить текстовый файл на основе некоторых критериев, с помощью каждого, что я уже получил, и все работает, создает и фильтрует, НО что-то, что я заметил во время моего последнего набора тестов,что число строк, ожидаемое в генерируемых им файлах csv (только для целей тестирования), в два раза превышает размер фактической таблицы данных, поэтому первая таблица данных в моем методе называется «output», число строк которой равно 2257, но CSV,В созданном файле содержится 4514 записей, а во втором csv, называемом outputLoc, количество строк равно 1402, но файл csv заканчивается 2804 записями.
Вот код, который в настоящее время выполняется и работает, но генерирует вышеуказанные числа.
try
{
DataTable d = processFileData(concatFile);
// REMOVES ALL RECORDS WITH A CLASS THAT IS NON-LABEL CLASS
var query = from r in d.AsEnumerable()
where !returnClass().Any(r.Field<string>("Column7").Contains)
select r;
DataTable output = query.CopyToDataTable<DataRow>(); // Should have 2257 records
int dtoutputCount = output.Rows.Count;
for (int i = 0; i < dtoutputCount; i++)
{
DataRow rows = output.Rows[i];
output.ImportRow(rows);
}
ToCSV(output, ftype,"filteredclass"); // Only writing to csv for testing and verification of data
//// REMOVES ALL RECORDS THAT HAVE A NON-SELLING OR UNOPENED LOCATION
var queryLoc = from rL in output.AsEnumerable()
where !returnLocations().Any(rL.Field<string>("Column2").Contains)
select rL;
DataTable outputLoc = queryLoc.CopyToDataTable<DataRow>();
int dtoutputLocCount = outputLoc.Rows.Count;
for (int i = 0; i < dtoutputLocCount; i++)
{
DataRow rows = outputLoc.Rows[i];
outputLoc.ImportRow(rows);
}
ToCSV(outputLoc, ftype,"filteredlocation"); // Only writing to csv for testing and verification of data
}
catch (Exception e)
{
Console.WriteLine(e.InnerException);
}
Как только все заработает, как и ожидалось, мы в конечном итоге избавимся от вызовов ToCSV, чтобы мы могли работать с данными в памяти и как только они все очистились, мы вызываем их для получения окончательного файла.что было отфильтровано.
Любая помощь будет оченьэто важно для определения того, почему я получаю файл, который в два раза больше ожидаемого.