【VBA技巧】- 批量從文本中導入股票數據到Excel
作為金融IT人士,雖然寫過很多代碼,但對金融數據的處理相對還是比較少的,為了完善金融數據處理,今天為大家帶來的是批量從文本中導入股票數據到Excel中。
為什麼想到要寫金融數據處理呢?因為SUT學習交流群(QQ號:615356012)中一位廣州的小夥伴就遇到了這個問題。該小夥伴上傳的文件經管理員匯總了一下,放入到了群文件【Q&A】中,如下圖所示:
下載該文件後解壓,可以看到有一下幾個文件,如下圖所示:
其中【PERSONAL.XLSB】這個個人宏工作簿是該小夥伴寫宏代碼的文件,【轉化.txt】是主要的宏代碼,【TXT】文件夾下就是需要導入到Excel中的各個股票數據文本文件,【SH#600009.xlsx】是導入Excel的最終效果,如下圖所示:
其實一看【TXT】文件夾下的文件目錄,就知道這些文件是從股票軟體【通達信】導出而來,具體導出方法請見如下動態圖:
如上動態圖,我只選擇了深圳平安銀行,股票代碼是000001,導出來的數據選擇的是1分鐘線。其實【TXT】文件夾中的文本文件都是類似動態圖導出的SZ#000001.txt文件,【TXT】文件夾截圖如下:
為了讓文件能夠批量導入到Excel中,最簡單的方法就是把TXT文件夾下的所有文本文件名複製到Excel中,如果學習過圖文教程【Excel技巧】- 如何對文件進行批量重命名就會知道可以使用批處理命令獲得文件夾所有文件名。今天交大家一個更加簡單的方法來批量獲得文件夾目錄下所有文件名,就是全選【TXT】文件夾下所有文本文件,按住鍵盤上Shift鍵的同時滑鼠右鍵,再彈出來的對話框中選擇【複製為路徑】。
點擊後,沒有任何信息,此時我們到Excel中單元格A2處右鍵粘貼,可以發現所有文件的全路徑都被複制到Excel中,如果不需要路徑前面的詳細路徑可以直接Ctrl+H,在彈出的查找和替換對話框中替換全路徑為空,只保留文件名,最後再順便排個序,具體演示如下:
有了所有文本文件的文件名後,就可以使用循環進行批量導入數據到Excel,具體代碼如下所示:
這代碼代碼其實也很好理解,就是2層循環,第一層循環用來處理每一個文件,第二層循環用來對文件裡面的內容單獨處理,然後放入到Excel單元格中。因為數據了巨大,每個文本文件里至少15000行數據,使用Excel循環處理數據比較慢,故此處我只選擇3個文件(SH#600008.txt、SH#600009.txt和SH#600010.txt)進行處理,處理的結果如下圖所示:
其實我在處理過程中發現,完全可以把通達信導出的盤後數據下載的文件中轉換得到,具體導出方法如下:
通達信導出的數據都存放在安裝路徑下的vipdoc文件夾中,上海的數據放入sh文件夾中,深圳的數據放入sz文件夾中,這裡以深圳為例:
從盤後數據導出數據遠遠比通達信軟體提供的數據導出功能更加好用,大家可以親自試試哦,下圖為我從lc1中導出的數據截圖:
好了,今天的介紹就到這裡了,馬上要下雨了,要回家收衣服了,如果學習過程中遇到任何問題,歡迎加群(QQ群:615356012)交流,素材的小夥伴可以在公眾號回復「20170811」得到哦~後期文章附帶的素材,大家都可以通過在公眾號回復該文檔發送的日期得到,歡迎下載學習^_^Written by Steven in 20170811^_^
微信公眾號:SaveUTime
SUT學習交流群:615356012,入群審核人:Steven
關注公眾號,提高效率,節約您的時間!
推薦閱讀:
※本人股票還未入門,想看炒股相關方面的書籍,想請高人推薦一些好書,謝謝?
※2016.9.23 超級議息周塵埃落定
※2017.03.15 不用指望養老金的助攻了
※如何系統的學習股票?
※手機炒股與電腦炒股相比還存在什麼劣勢,在以後的發展過程中它能否取代電腦炒股?