美文网首页
数据清洗流程

数据清洗流程

作者: 草珊瑚_6557 | 来源:发表于2019-03-29 16:05 被阅读0次

需求

给你一个包含一万五行的excel文件。
根据每行的数据作为请求参数,去请求指定接口,获取响应数据,对数据进行解析,解析结果放到excel里面输出给业务方。

第一步,获取接口响应数据,写到日志

xlsx文件转csv文本文件。
多线程读取csv文本内容,发送请求,处理响应,写入日志。
需要处理csv文本某行内容异常,接口请求异常,接口响应异常,响应内容处理异常。
对这些异常,都返回null关键字。
写到日志的数据分两块,一个是原始的响应数据,一个是自己解析后的数据。
其中多线程读取文本文件的参考代码如下:

InputStreamReader fileISR = null;
BufferedReader reader = null;

try {
    fileISR = new InputStreamReader(new FileInputStream(file), "UTF-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}
try {
    reader = new BufferedReader(fileISR);
} catch (Exception e) {
    e.printStackTrace();
}

reader.lines().parallel().forEach(line -> {
    // 对line进行处理
});

fileISR.close();

第二步,从日志中读取所需数据,写到excel

多线程读取日志内容,解析数据,然后写到缓冲池,缓冲池刷到excel文件。

缓冲池写文件参考代码如下:

List<String> log_list = FileUtils.readLines("日志文件路径", StandardCharsets.UTF_8);
int write_flag = 1;

File file_out = null;
FileInputStream file_is = null;
XSSFWorkbook workbook_out = null;
XSSFSheet sheet_out = null;
FileOutputStream stream_output = null;
for (int i = 0; i < log_list.size(); i++) {
    String result = log_list.get(i);
    int response_result_pos = result.indexOf(字符串截取位置);

    if (response_result_pos > -1) {
        if (write_flag == 1) {
            file_out = new File(file_output_src);
            file_is = new FileInputStream(file_out);
            workbook_out = new XSSFWorkbook(file_is);
            sheet_out = workbook_out.getSheetAt(0);
            stream_output = new FileOutputStream(file_output_src);
        }

        // 业务逻辑处理代码

        write_flag = write_flag + 1;
        if (write_flag == 1000) {
            write_flag = 1;
            stream_output.flush();
            workbook_out.write(stream_output);
            stream_output.close();
        }

    }

}
if (stream_output != null) {
    stream_output.flush();
    workbook_out.write(stream_output);
    stream_output.close();
}

实际运行时间

配置未I7 CPU,8G 内存。
一万五的数据,第一步耗费20min,第二步耗费7min。

相关文章

  • 数据清洗时的注意事项

    数据分析的流程:数据收集-数据整理-数据清洗-数据分析-数据展示 1.50%-60% 数据清洗时间,首先要明确本研...

  • 数据清洗流程

    需求 给你一个包含一万五行的excel文件。根据每行的数据作为请求参数,去请求指定接口,获取响应数据,对数据进行解...

  • TorchText数据清洗与加载

    流程:1、数据清洗2、数据加载 基本步骤1、Load2、Split -> (train, validation, ...

  • 对账系统

    对账流程 对账流程节点:数据抓取、数据清洗、对账、结果汇总4个操作节点;对账结果:上游单边(订单上游存在,下游不存...

  • 大数据进行数据清洗的基本流程【详细讲解】

    数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以...

  • 大数据进行数据清洗的基本流程

    数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以...

  • 在odpsdataframe上的聚合操作

    手动业务流程创建 业务流程是周期示例,手动业务流程是手动实例,数据清洗用手动业务流程。 编辑Pyodps节点 执行...

  • 数据分析师的能力模型

    数据分析师的工作流程:业务理解——数据需求提炼——定性分析——数据获取——数据清洗——数据认知——建模分析——结果...

  • 1-数据分析的流程

    数据分析的基本流程 1. 提出问题 Question 2. 数据采集和清洗Data acquisition...

  • 数据清洗

    数据清洗是数据分析的流程之一,也是需要花费数据分析师很大一部分时间来做的一件事。 数据清洗包括数据缺失问题和数据异...

网友评论

      本文标题:数据清洗流程

      本文链接:https://www.haomeiwen.com/subject/plzlbqtx.html