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創建


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM