zoukankan      html  css  js  c++  java
  • csv大文件处理方案-数据量超表格最大容纳行数解决方案

    csv大文件处理方案-数据量超表格最大容纳行数解决方案

    结论先行

    查看

    Windows系统查看:下载Emeditor查看--推荐

    Mac系统查看:Vscode查看

    汇总计算

    优雅方式

    • 表格的Power pivot
    • Tableau
    • 编程计算

    不优雅但可行方法

    切分为多个小文件

    • linux使用split命令切分

    • 使用工具切分--推荐

    • 编程切分--适合懂编程小伙伴

    情况

    1.一个表格sheet最大容纳数据量104万行,数量太大不宜用表格装载数据,使用csv格式装载数据(表格设计不是用来存储数据的,存储数据用数据库)

    2.csv为逗号分割符文件(处理数据一种很好的格式),本质为文本文件,数据量不大可用表格直接打开,数据量大建议用文本编辑器EmEditor(只有Windows系统有此软件)打开,此编辑器会对csv文件特殊排版处理

    3.如果表格打开csv文件是乱码,请用文本编辑器打开转换成ANSI编码(也可以不转换编码,用表格里的数据->获取外部数据->自文本导入)

    4.数据量104万以上的数据量表格计算方法

    a.使用office 2013以上版本的Power pivot进行计算,对表格使用水平要求很高,能否计算出来还和计算机内存有关

    b.使用tableau等BI工具计算

    c.先细分好几个小表格计算,再合并汇总数据,此法及其麻烦,非常不建议此方法(不符合批量操作原则)

    产生这种需求原因:

    1.大部分是对表格不熟悉,不知道104万行以上对表格意味着什么

    2.有一部分需要这数据,但不知道数据有多少,一查发现超104万行

    3.一部分对数据不信任与不放心

    4.极个别需求确实逃不开104万行数据的(主要是要明细数据)

    正确解决方案:

    1.对于原因1与原因2,弄清楚需求方要做什么,做这件事的流程是什么,主要关键变量是什么。

    经典案例:某同事,要了半年某省结算记录(2000万左右数据量),原因是他们领导一句话要分析某某数据。正确做法就给相对应类型数据的统计即可。

    2.没有信任成本会比较高昂,难以把控做事的粒度。
    替代方案:
    给统计数据+SQL截图+抽样明细

    经典案例:一同事,曾经经常想要1000多万明细,他对数据不放心,想存底留一份数据以后备用。问了几个问题,数据以后你看吗,你用什么打开这数据,你怎么计算这数据,你主要看数据的什么指标。发现数据给他他什么都做不了,然后给他了解决方案,他要的数据主要就是看月份、金额,以后只要统计即可。

    3.有极个别需求确实逃不开明细的

    有极个别需求必须要超过104万行以上数据,也归属在不合理需求范畴,因为是绝大部分需求方处理不了这数据。

    弄清楚为什么必须得是明细,我们能在明细级别上,根据对应要求在系统里帮忙实现吗

    现实状况

    1.解释这件事有时费时费力,个人时间、精力往往不够,数据先直接给需求方csv格式

    2.不是对方业务线,不了解需求方业务,想帮忙处理也发现较难(我有数据处理技术无业务技术逻辑,对方有业务技术逻辑但没处理这数据的技术)

    总结

    百万,千万级别数据,人看不过来,表格难以处理。正确做法是知道自己要做什么,是求和还是计数。清楚了自己要做什么,数据才有意义。需求合不合理只是相对的,如果对方完全有技术能力处理大型数据,需求是合理的。实际大部分需求方都没这种能力,大部分是要把表格拆成好几个表,再计算,计算完再合并,这是很不提倡的做法,但对于他们可能确是唯一的处理方法。

    Changelog

    210122新增结论先行

    191213新增原因

    180807创建

  • 相关阅读:
    “用户、组或角色'XXX'在当前数据库中已存在”问题
    C#与Java在继承静态类上的区别
    Java中静态内部类的理解
    python第三天
    python第二天
    python第一天
    applicationhost.config web.config
    IIS:错误: 无法提交配置更改,因为文件已在磁盘上更改
    SMO 的环境
    从客户端中检测到有潜在危险的 Request.Form 值
  • 原文地址:https://www.cnblogs.com/junstudys/p/12056016.html
Copyright © 2011-2022 走看看