3.5 讀取Flat數據文件
Flat file最常見的格式就是CSV和TXT文件。同樣,按照表3-1介紹的思路,對于純文本文件,我們仍然推薦用PROC IMPORT方式導入,當然也可以用INFILE語句+INPUT語句組合,進行更多個性化的讀入。
→3.5.1 讀入CSV文件
CSV文件的讀入同EXCEL文件類似,我們也推薦用PROC IMPORT,不過比EXCEL方便的是:CSV在讀入時SAS可以直接用GUESSINGROWS來指定通過前多少行確定變量類型、用DATAROW來指定數據從哪一行開始。
程序3-5 PROC IMPORT讀入CSV文件
filename mycsv "D:\03 Writting\01 SAS編程演義\02 Data\Raw\class.csv"; proc importout=tmp datafile=mycsv dbms=csv replace; getnames=yes; guessingrows=20; datarow=2; run;
CSV文件其全稱是逗號分隔值文件(Comma Separated Value,CSV),雖然我們常用MS EXCEL打開查看編輯其內容,用記事本打開,便見其本質內容就是用逗號把一個一個的變量值分開。如果我們不用逗號,改用空格或者制表符,那就是我們常見的TXT文本文件了。
→3.5.2 讀入TXT特殊字符分隔的文件
對于TXT文件,我們同樣先推薦用PROC IMPORT導入,不同的是,我們在設置DBMS時要留意:我們需要指定DBMS=DLM,并且增加DELIMITER語句指定分隔符。例如,如果分隔符是“#”,則delimiter='#';如果是空格或者制表符,則用二進制代碼表示空格('20'x)和制表符('09'x)。
程序3-6 PROC IMPORT導入制表符和空格分隔的文本

當然,除了PROC IMPORT外,我們也可以采用更為靈活的方式,那就是DATA步的INFILE+INPUT語句。其實,無論是CSV還是TXT,我們在用PROC IMPORT導入的時候,SAS實質上還是在用DATA步的INFILE+INPUT語句,圖3-2可以證明。在運行完上面的程序后,留意LOG就會發現這一點。這一點有一個巧妙的用途:如果我們用PROC IMPORT導入時,某些變量因格式、長度什么的不對而出現錯誤了,我們可以直接拷貝LOG里的DATA步程序,而后進行細微修改,用修改后的DATA步程序再導入文本數據文件,這樣不失為一個巧妙的讀入文本文件的方法。

圖3-2 PROC IMPORT導入文本實質是DATA步INFILE+INPUT語句
- Vue.js設計與實現
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- C語言程序設計習題解析與上機指導(第4版)
- 測試驅動開發:入門、實戰與進階
- PHP基礎案例教程
- oreilly精品圖書:軟件開發者路線圖叢書(共8冊)
- Java語言程序設計教程
- Python Data Science Cookbook
- SciPy Recipes
- ActionScript 3.0從入門到精通(視頻實戰版)
- 每個人的Python:數學、算法和游戲編程訓練營
- Building Apple Watch Projects
- Getting Started with RethinkDB
- 小學生C++趣味編程從入門到精通
- Python程序設計教程