相信很多人的日常工作中剩岳,數(shù)據(jù)源除了來自數(shù)據(jù)庫以外,其次就是外部文件拙吉,因此掌握讀取文件的技能是相當必要的。在這里特此整理讀取外部文件的方法揪荣,希望能有助你們快速解決問題筷黔。當然本文對讀者的假設(shè)是有一定的python基礎(chǔ)知識。
此篇就以pandas模塊【讀取CSV 】 為例变逃,我會貼上我的代碼截圖
【讀取CSV 】
1.讀取單個CSV文件
以下例子中必逆,設(shè)置工作目錄(這一步可用也可不用)只是為了方便,在批量讀取文件的時候你更能體會它的好用揽乱;sep用來指定字符的分隔符號,常用的有空格 【''】粟矿,逗號【','】凰棉,【'\t'】
當然我最喜歡的是sep = None,?選擇這個之后,python會自動檢測分隔符號陌粹,當你讀取文件報錯時撒犀,不妨改為?sep = None?試試。另外還有一個常用參數(shù)是header,指定數(shù)據(jù)是否包含指標名稱的或舞,默認為0荆姆,表示第0行是header;如果設(shè)置header = None,則下圖中的日期映凳,來訪人數(shù)胆筒,購買人數(shù)也會被認為是數(shù)據(jù)。更多read_csv的參數(shù)見:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
2.批量讀取csv文件
工作中可能會遇到一個文件夾有很多csv文件诈豌,或許里面還有很多excel文件仆救,且命名還不太一樣,如果手動輸入文件名矫渔,會累攤且也不是我們數(shù)據(jù)分析的方法彤蔽。
如下圖2.1,我們先批量獲取csv的文件名庙洼,然后再循環(huán)讀取csv文件顿痪,相信細心的你已經(jīng)發(fā)現(xiàn)指標名稱亂碼了,這時候我們就需要動用read_csv的encoding參數(shù)啦油够,使用方法見圖2.2蚁袭。
其中有2個函數(shù),os.path.splitext是將文件名分隔開叠聋;如abc.csv則分為'abc'?和'.csv'2部分撕阎,他們的切片位置是[0,1]那os.path.splitext[1]就表示'.csv'。另外os.walk()要想了解更多更細碌补,就需要你們自行百度模索虏束,這里就不作細說了。
由于時間關(guān)系厦章,這周先碼這么多镇匀,下周再續(xù)