Анализ файлов с разделителями табуляции в Super CSV - PullRequest
0 голосов
/ 07 августа 2011

Я пытаюсь проанализировать файл CSV с помощью Super CSV, содержащего два поля (разделенных табуляцией) со строкой без кавычек.

    occugroup_code  occugroup_name
    110000          Management Occupations  
    130000          Business and Financial Operations Occupations   
    150000          Computer and Mathematical Occupations   

У меня есть проблема, чтобы выяснить, как настроить CsvPreference для возможностиверните карту для каждых двух.Кто-нибудь сталкивался с этой проблемой?

1 Ответ

8 голосов
/ 07 августа 2011

Пожалуйста, попробуйте сделать что-нибудь самостоятельно в следующий раз или опишите вашу проблему более конкретно.
Например:
I try the CsvPreference.xyz but it didn't work, because I get the exception abc


Некоторые базовые вещи: CSV = значения, разделенные запятыми
Ваш файл не разделен запятой или точкой с запятой, он разделен вкладками.Поэтому вы должны создать свою собственную CsvPreference:
CsvPreference pref = new CsvPreference('\"', '\t', "\n");

Вот полный пример (проверено):

InputStream inputStream = this.getClassLoader().getResourceAsStream("example.csv");
CsvPreference pref = new CsvPreference('\"', '\t', "\n");
ICsvMapReader reader = new CsvMapReader(new InputStreamReader(inputStream), pref);

List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> result;
while ((result = reader.read(new String[]{"code", "name"})) != null) {
    list.add(result);
}

for (Map<String, String> elem : list) {
    System.out.print(elem.get("code")+" | ");
    System.out.print(elem.get("name"));
    System.out.println();
}

Вывод:

110000 |Менеджмент профессий
130000 |Бизнес и финансовые операции Занятия
150000 |Компьютерные и математические занятия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...