Мы используем Sep для обработки файлов CSV перед массовым импортом в базу данных. Процесс быстрый, но Sep жертвует некоторым исправлением ошибок ради чистой скорости.
Один из наших поставщиков отправляет файлы CSV с недопустимым escape-символом (используя \" внутри другого правильно экранированное строковое поле). Sep не справляется с этим корректно, поставщик еще не исправляет свой процесс, поэтому третий вариант, который я вижу, — попытаться исправить эти данные во время приема. API для Sep может читать из Stream, TextReader, byte[] или напрямую взять имя файла и выполнить его собственное чтение.
Как правильно реализовать фильтр, аналогичный эта подпись? (Я знаю, что это вообще недопустимый C#). Идея состоит в том, что этот фильтр будет находиться между необработанным, потенциально поврежденным файлом на диске и перегрузкой TextReader, из которой Sep может читать. У меня есть идеи. как неэффективно реализовать это, но все, что я делаю с анализом строк, немедленно снижает производительность приложения.
private TextReader FilterData(TextReader raw)
{
return raw.Replace("\\"", "");
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... textwriter
Каков эффективный способ удаления данных из потока (или TextWriter)? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Каков наиболее эффективный способ многопроцессорной обработки очень большого кадра данных?
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-