Расширенный.Csv анализ - файл ответов на опрос?
Хорошо, во-первых, я просто хотел бы отметить, что я знаю о синтаксическом анализе файлов.csv, используя запятые или табуляции и т. Д. Однако у меня все еще есть проблема, и я немного застрял.
Я пытаюсь создать приложение, которое читает файл ответов на опрос.csv (желательно всех типов расширений, но давайте начнем с одного). Эти файлы ответов на опрос предварительно создаются другими веб-сайтами. (т.е. пользователь загружает свои ответы на опрос с сайта опроса, а затем использует мое приложение). Целью приложения является выполнение статистического анализа данных.
Таким образом, проблема, которую я имею, состоит в том, чтобы понять, как читать и отделять вопросы - от ответов - от не относящегося к делу текста. Мне нужен многоразовый способ сделать это для нескольких файлов ответов с разными типами вопросов и т. Д.
Я знаю, что более простой способ сделать это состоит в том, чтобы пользователь создал опрос с моим приложением, а затем проанализировал его, чтобы я мог контролировать форматирование, но на данный момент это не вариант.
ПРИМЕЧАНИЕ. Я планирую прочитать все переменные в системе, а затем разрешить пользователю выбирать переменные из списка и выполнять для них алгоритмы анализа.
Опять же, я знаю, что они продвинутые читатели CSV там, я просто ищу идеи о том, как решить мою проблему.
3 ответа
Использовать Microsoft.VisualBasic.FileIO.TextFieldParser
он специально разработан для анализа файлов.csv. он также обрабатывает запятые в полях.
Для анализа CSV вы можете использовать регулярное выражение, которое я описал в своем решении к этому посту. Это будет оцениваться построчно.
В первой строке вашего файла (CSV (разделитель - запятая) или TSV (разделитель - вкладка)) содержатся имена столбцов? Все ли строки имеют одинаковое количество значений (при необходимости, пропущенные или нулевые значения обозначаются последовательными разделителями)?
Если ответы на оба вопроса положительные, один из вариантов - использовать ADO с драйвером JET 4.0 для чтения каждого файла в качестве источника реляционных данных.
Есть много образцов, которые демонстрируют технику. Начните здесь.