• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ICsvMapReader类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.supercsv.io.ICsvMapReader的典型用法代码示例。如果您正苦于以下问题:Java ICsvMapReader类的具体用法?Java ICsvMapReader怎么用?Java ICsvMapReader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ICsvMapReader类属于org.supercsv.io包,在下文中一共展示了ICsvMapReader类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: readWithCsvMapReader

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
private Map<String, String> readWithCsvMapReader(Path mappingFile) throws IOException {
    Map<String, String> retMap = new HashMap<>();
    try (ICsvMapReader mapReader = new CsvMapReader(Files.newBufferedReader(mappingFile, StandardCharsets.UTF_8), CsvPreference.STANDARD_PREFERENCE)) {
        final String[] header = mapReader.getHeader(true);
        log.info(" cvsheader length: " + header.length);
        final CellProcessor[] rowProcessors = new CellProcessor[header.length];
        for (int i = 0; i < rowProcessors.length; i++) {
            if (i == 0) {
                rowProcessors[i] = new NotNull();
            } else {
                rowProcessors[i] = new NotNull();
            }
        }

        Map<String, Object> componentMap;
        while ((componentMap = mapReader.read(header, rowProcessors)) != null) {
            String psseId = (String) componentMap.get(header[0]);
            String rdfId = (String) componentMap.get(header[1]);
            if (psseId == null) {
                log.warn("psseId=" + psseId + ", rdfId=" + rdfId);
            } else {
                if (retMap.containsKey(psseId)) {
                    log.warn("psseId=" + psseId + " already in the map");
                }
                retMap.put(psseId, rdfId);
            }
        }
    }

    if (log.isTraceEnabled()) {
        log.trace("ids map: " + retMap);
    }
    log.info("ids map: " + retMap);
    return retMap;
}
 
开发者ID:itesla,项目名称:ipst,代码行数:36,代码来源:DdbDyrLoader.java


示例2: readWithCsvMapReader

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
public static Map<String, String> readWithCsvMapReader(Path dicoFile) throws Exception {

        Map<String, String> retMap = new HashMap<>();
        try (ICsvMapReader mapReader = new CsvMapReader(Files.newBufferedReader(dicoFile, StandardCharsets.UTF_8), CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE)) {
            final String[] header = mapReader.getHeader(true);
            LOGGER.debug(" cvsheader length: " + header.length);
            final CellProcessor[] rowProcessors = new CellProcessor[header.length];
            for (int i = 0; i < rowProcessors.length; i++) {
                if (i == 0) {
                    rowProcessors[i] = new NotNull();
                } else {
                    rowProcessors[i] = null;
                }
            }

            Map<String, Object> componentMap;
            while ((componentMap = mapReader.read(header, rowProcessors)) != null) {
                //System.out.println(String.format("lineNo=%s, rowNo=%s, mapping=%s", mapReader.getLineNumber(), mapReader.getRowNumber(), customerMap));
                String eurostagId = (String) componentMap.get(header[1]);
                String cimId = (String) componentMap.get(header[0]);
                if (eurostagId == null) {
                    LOGGER.warn("eurostagId=" + eurostagId + ", cimId=" + cimId);
                } else {
                    if (retMap.containsKey(eurostagId)) {
                        LOGGER.warn("eurostagId=" + eurostagId + " already in the map");
                    }
                    retMap.put(eurostagId, cimId);
                }
            }
        }

        if (LOGGER.isTraceEnabled()) {
            LOGGER.trace("ids map: " + retMap);
        }
        return retMap;

    }
 
开发者ID:itesla,项目名称:ipst,代码行数:38,代码来源:DtaParser.java


示例3: parseDetailedCsvBill

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
private void parseDetailedCsvBill(InputStream inputStream, Collection<String> ignorableInvoiceCharge,
        Set<String> configuredAccounts, BiConsumer<Map<String, AwsAccountDetailDto>, String> hourlyStatsConsumer,
        Consumer<Map<String, AwsAccountDetailDto>> monthlyStatsConsumer) throws IOException {
    final CsvPreference STANDARD_SKIP_COMMENTS = new CsvPreference.Builder(
            CsvPreference.STANDARD_PREFERENCE)
            .skipComments(new CommentStartsWith(AWS_SKIP_COMMENTS))
            .build();

    try (InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
            ICsvMapReader mapReader = new CsvMapReader(reader, STANDARD_SKIP_COMMENTS)) {
        final String[] header = mapReader.getHeader(true);

        List<CellProcessor> processorList = new ArrayList<>();
        final CellProcessor[] basicProcessors = getDetailedProcessors(header);

        processorList.addAll(Arrays.asList(basicProcessors));
        List<String> tagHeaders = new ArrayList<>();

        // Add new cell-processors for each extra tag column
        int numberOfTags = header.length - basicProcessors.length;
        if (numberOfTags > 0) {
            for (int i = 0; i < numberOfTags; i++) {
                processorList.add(new Optional());
                tagHeaders.add(header[basicProcessors.length + i]);
            }
        }
        CellProcessor[] cellProcessorArray = new CellProcessor[processorList.size()];

        Map<String, AwsAccountDetailDto> monthlyBill = new HashMap<>();
        cellProcessorArray = processorList.toArray(cellProcessorArray);
        Map<String, Object> rowMap;
        Long prevRowTime = null;
        Long prevRowEndTime;
        String interval = null;
        while ((rowMap = mapReader.read(header, cellProcessorArray)) != null) {
            LocalDateTime currRowLocalDateTime = (LocalDateTime) rowMap
                    .get(DetailedCsvHeaders.USAGE_START_DATE);
            Long curRowTime = getMillisForHour(currRowLocalDateTime);
            if (prevRowTime != null && curRowTime != null && !prevRowTime.equals(curRowTime)
                    && !StringUtils.contains(interval, "-")) {
                // This indicates that we have processed all rows belonging to a corresponding hour in the
                // current month bill. Consume the batch
                hourlyStatsConsumer.accept(monthlyBill, interval);
            }
            try {
                readRow(rowMap, monthlyBill, tagHeaders, ignorableInvoiceCharge, configuredAccounts);
            } catch (Exception e) {
                this.logger.warning(String.format("Got error while parsing a row in aws bill of %s",
                        getStringFieldValue(rowMap, DetailedCsvHeaders.PAYER_ACCOUNT_ID) + e));
            }
            if (curRowTime != null) {
                prevRowTime = curRowTime;
                prevRowEndTime = getMillisForHour((LocalDateTime) rowMap.get(DetailedCsvHeaders.USAGE_END_DATE));
                interval = createInterval(prevRowTime, prevRowEndTime);
            }
        }

        // Consume the final batch of parsed rows
        hourlyStatsConsumer.accept(monthlyBill, interval);
        monthlyStatsConsumer.accept(monthlyBill);
    }
}
 
开发者ID:vmware,项目名称:photon-model,代码行数:63,代码来源:AWSCsvBillParser.java


示例4: extractAndParseCsvFile

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
private static List<Map<String, Object>> extractAndParseCsvFile(Path filePath) throws IOException {
    List<Map<String, Object>> csvRows = new ArrayList<>();
    String AWS_SKIP_COMMENTS = "Don't see your tags in the report";

    AWSCsvBillParser.unzip(filePath.toString(), filePath.getParent().toString());

    String unzippedCsvFilePathStr = filePath.toString()
            .substring(0, filePath.toString().lastIndexOf('.'));

    final CsvPreference STANDARD_SKIP_COMMENTS = new CsvPreference.Builder(
            CsvPreference.STANDARD_PREFERENCE)
            .skipComments(new CommentStartsWith(AWS_SKIP_COMMENTS))
            .build();

    try (InputStreamReader reader = new InputStreamReader(new FileInputStream(
            Paths.get(unzippedCsvFilePathStr).toFile()), "UTF-8");
         ICsvMapReader mapReader = new CsvMapReader(reader, STANDARD_SKIP_COMMENTS)) {
        final String[] header = mapReader.getHeader(true);

        List<CellProcessor> processorList = new ArrayList<>();
        final CellProcessor[] basicProcessors = AWSCsvBillParser.getDetailedProcessors(header);

        processorList.addAll(Arrays.asList(basicProcessors));

        // Add new cell-processors for each extra tag column
        int numberOfTags = header.length - basicProcessors.length;
        if (numberOfTags > 0) {
            for (int i = 0; i < numberOfTags; i++) {
                processorList.add(new org.supercsv.cellprocessor.Optional());
            }
        }
        CellProcessor[] cellProcessorArray = new CellProcessor[processorList.size()];

        cellProcessorArray = processorList.toArray(cellProcessorArray);
        Map<String, Object> row;
        while ((row = mapReader.read(header, cellProcessorArray)) != null) {
            csvRows.add(row);
        }
        return csvRows;
    } catch (Exception e) {
        throw e;
    }
}
 
开发者ID:vmware,项目名称:photon-model,代码行数:44,代码来源:TestUtils.java


示例5: readSurveyResponses

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
public List<SurveyResponse> readSurveyResponses(
        Survey s,
        Reader r)
        throws SurveyException
{

    List<SurveyResponse> responses = new LinkedList<SurveyResponse>();

    final CellProcessor[] cellProcessors = s.makeProcessorsForResponse();

    try{
        ICsvMapReader reader = new CsvMapReader(r, CsvPreference.STANDARD_PREFERENCE);
        final String[] header = reader.getHeader(true);
        Map<String, Object> headerMap;
        SurveyResponse sr = null;
        while ((headerMap = reader.read(header, cellProcessors)) != null) {
            // loop through one survey response (i.e. per responseid) at a time
            if ( sr == null || !sr.getSrid().equals(headerMap.get("responseid"))){
                if (sr!=null)
                    // add this to the list of responses and create a new one
                    responses.add(sr);
                sr = new SurveyResponse(s, (String) headerMap.get("workerid"));
                sr.setSrid((String) headerMap.get("responseid"));

            }
            // fill out the individual question responses
            IQuestionResponse questionResponse = new QuestionResponse(s, (String) headerMap.get("questionid"), (Integer) headerMap.get("questionpos"));
            for (IQuestionResponse qr : sr.getAllResponses())
                if (qr.getQuestion().id.equals(headerMap.get("questionid"))) {
                    // if we already have a QuestionResponse object matching this id, set it
                    questionResponse = qr;
                    break;
                }
            SurveyDatum c;
            if (!Question.customQuestion(questionResponse.getQuestion().id))
                c = questionResponse.getQuestion().getOptById((String) headerMap.get("optionid"));
            else c = new StringDatum((String) headerMap.get("optionid"), -1, -1, -1);
            Integer i = (Integer) headerMap.get("optionpos");
            questionResponse.getOpts().add(new OptTuple(c,i));
            sr.getAllResponses().add(questionResponse);
        }
        reader.close();
        return responses;
    } catch (IOException io) {
        io.printStackTrace();
    }
    return null;
}
 
开发者ID:SurveyMan,项目名称:Runner,代码行数:49,代码来源:SurveyResponse.java


示例6: getReader

import org.supercsv.io.ICsvMapReader; //导入依赖的package包/类
/**
 * This method creates an instance of csvMapReader.
 *
 * @param reader
 * @param preference
 * @return CSV Map Reader
 */
@Override
protected ICsvMapReader getReader(ReusableStringReader reader, CsvPreference preference)
{
  csvReader = new CsvMapReader(reader, preference);
  return csvReader;
}
 
开发者ID:apache,项目名称:apex-malhar,代码行数:14,代码来源:CSVParserTest.java



注:本文中的org.supercsv.io.ICsvMapReader类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java TaggedProfileFactoryFinderImpl类代码示例发布时间:2022-05-22
下一篇:
Java AbstractUpdateRequest类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap