2009-11-20 5 views
1

Я ищу лучший способ чтения файла CSV по строкам. Я хочу знать, каковы наиболее эффективные способы сделать то же самое. Я особенно заинтересован, когда размер файла большой. Утилиты чтения файлов, доступные в классах .NET, наиболее эффективны?Эффективные методы чтения файлов в C#

(PS:. Я искал слово «Эффективность», чтобы знать, если кто-то уже писал подобный вопрос, прежде чем отправить это)

ответ

3

Вы можете попробовать это: fast CSV Parser.

Вот тест результат:

Чтобы дать более вниз по номерам на землю, с CSV файл 45 МБ, содержащего 145 полей и 50000 записей, читатель обрабатывал около 30 МБ/с. Так что все всего, потребовалось 1,5 секунды! Характеристики оборудования были P4 3,0 ГГц, 1024 МБ.

+0

Спасибо! Мне понравились цифры :) – pradeeptp

1

Обработка файлов в .NET в порядке. Если вы хотите прочитать строку за раз удобным способом, используя foreach, у меня есть simple LineReader class, который вы можете посмотреть (с более общей версией в MiscUtil).

При том, что вы можете использовать:

foreach (string line in new LineReader(file)) 
{ 
    // Do the conversion or whatever 
} 

Это также легко использовать с помощью LINQ. Вы можете или не можете найти это полезным - если предложение Ngu Soon Hui работает для вас, это может быть лучшим решением «с полки».

+0

Спасибо Jon! Я обязательно посмотрю на это. – pradeeptp

Смежные вопросы