用什麼軟體可以切割10個G的txt數據?
題主是近似文科僧 金融專業 自己下了一個10G的股票數據想扔進matlab做分析 結果txt文件本身就打不開 因為是數據 所以不敢亂用網路上的txt文本切割軟體 求大神相助 多謝!
用ipython吧,import pandas包,上手很容易。無腦安裝就好。看了下別人的回答,readline是分割10g數據,逐步分析,但是數據裡面還是有很多無效欄位,浪費內存,浪費時間。
而清洗數據,股票數據有明確的欄位,所以可以通過usecolumn來篩選自己想要的欄位,可能你的10g文件直接先變2g了。而數據的時間完整性依然保存,依然是全數據。
然後該幹嘛幹嘛。效率也可以接受。處理10g數據大概百秒,2g數據十幾秒吧。你要用MATLAB的話,其實沒必要切割,處理這樣的txt有兩種方法可以考慮:1.用fopen,fscanf,textscan等函數讀取部分數據之後進行處理;也可以用dlmread更方便的讀取
2.如果你的數據比較規整(簡單來說就是類似於csv的那樣,分隔符相同,數據都是比較整齊的一列列的),可以用datastore讀取後用mapreduce來進行處理
如果一定要分割的話,上邊兩種方法同樣可以用來分割文件man split
awk "{filename = "sub." int((NR-1)/10000) ".txt"; print &>&> filename}" inputfile # 10000 值,切割後單文件最大 1 萬行,你可以修改
裝個mysql把數據導入進去然後select選取你想要數據
首先要確認這文本結構 不讓怎麼分割?分割出來的都可以說是損壞的
對於這麼大的文件 用內存映射
操作起來[飛梭]TXT文本數據處理百寶箱-易網科技
試試這個。
不用切,可以試試數說立方
split加cat
首先,如果你對於處理數據沒有足夠的經驗的話,現複製一份吧。
接著 你可以使用Matlab的文本處理命令,但是應該只能一行一行處理,速度跟python差不多,因為matlab數值處理那方面精度高於python,速度要慢一點x,文本處理速度OK
如果你要用python 也OK 沒有任何問題如果有需要,我可以給你代碼linux =&> split
SAS SAS SAS多少g都沒問題,如果是固態硬碟那gb級別數據隨便搞
原來用shell,現在全python了
這個學期做東西的時候,用的是師兄給的4個G左右的txt格式的數據。數據的格式比較整齊,如果直接用python做
for line in file:
list = line.strip().split()
就這樣也能順利讀完了,至少做數據的清洗和簡單的分析時間也不長,幾十秒的樣子。清洗過後就沒有多大了
shell split... (好像是這個)想不起來了,幾個P都沒事,很快。
1.先回答題主的問題,實際,但不科學的處理方法:
推薦網站綠盟【綠色軟體聯盟】,在裡面搜【文件分割】、【文件切割】等等,把那些軟體都下載下來,丟到虛擬機里,先殺毒,然後一個一個地測試。測試成功後,就可以使用了。
2.再說說科學的處理方式:
2.1 分析格式。看看應該怎麼切割。既然題主提到時txt文件,我估計應該是按行分隔。
2.2 主流編程語言都能處理文本的切割。
2.3 如果要自己寫軟體,並且把質量提高到工業級,那麼需要考慮容易出現故障的位置,並在這些位置上加入各種校驗,比如切割的正確性驗證、讀寫校驗,這兩個地方容易出問題。軟體寫完後,別偷懶,把測試也嚴謹地做完。
2.4 如果需要考慮用戶體驗,則可以把整個任務設計成可中斷可恢復的步進模式。比如,切割100G的文件,可以把這個任務設計為100個步驟,每個步驟處理1G。每個步驟的處理前、處理中、處理後,都要記錄在配置文件中。這樣,即使系統崩潰,也能最大程度地恢復進度,不需要重新處理整個文件。推薦閱讀:
※為什麼學校里學習雲計算或者大數據都要從hadoop開始?
※matlab將多個文件夾下的,多個txt中的行數據合併,速度慢,怎麼優化代碼?(並行計算已測試也很慢)
※大數據培訓出來就業情況如何?
※有沒有data science博士專業,哪個學校比較好,不限國別?
※大數據下的城市規劃應用前景怎樣?