利用Python進行數據分析之數據加載課件_第1頁
利用Python進行數據分析之數據加載課件_第2頁
利用Python進行數據分析之數據加載課件_第3頁
利用Python進行數據分析之數據加載課件_第4頁
利用Python進行數據分析之數據加載課件_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據加載,存儲與文件格式

數據加載,存儲與文件格式1,讀寫文本格式數據:(read_csv,read_table,read_fwf,read_clipboard,open()to_csv,to_excel,write())2,JSON數據:(兩個方法:json.loads()json.dumps())3,XML和HTML:WEB信息收集(兩個接口lxml.html,lxml.objectify)4,二進制數據格式(pickle函數,短期存儲格式)5,使用HTML和WEBAPI(requests包)6,使用數據庫目錄1,讀寫文本格式數據:目錄讀取文本格式數據read_csv從文件,url,文件型對象中加載帶分隔符的數據,默認分隔符為逗號。read_table從文件,url,文件型對象中加載帶分隔符的數據,默認分隔符為制表符('\t')。read_fwf讀取定寬格式的數據,無分隔符read_clipboard讀取剪貼板中數據讀取文本格式數據read_csv從文件,url,文件型對象中讀取文本格式數據pandas讀取文件會自動推斷數據類型,不用指定。以read_csv為例,下面是常用的幾個參數:用names重新規(guī)定列名,用index_col指定索引,也可以將多個列組合作為層次化索引??梢跃帉懻齽t表達式規(guī)定分隔符。用skiprows跳過某些行。缺失數據要么沒有,要么用某個標記值表示,pandas常用NA、-1.#IND、NULL等進行標記。用na_values用來不同的NA標記值。Nrows只讀取幾行Chunksize:逐塊讀取文件定義一個字典為各個列指定NA標記值,直接=null的就是把df中所有為空值的都標為null跳過第3行讀取文本格式數據pandas讀取文件會自動推斷數據類型,不用將數據寫出到文本格式1、利用data_frame的to_csv方法,可以將數據寫到一個以逗號分隔的文件中,也可用sep參數指定分隔符,如data.to_csv()2、缺失值寫入輸出時會被表示為空字符串,可使用na_rep表示為別的標記值。不添加后綴的話默認是一個file文件data.to_csv(sys.stdout,sep='|')#打印到屏幕data.to_csv(sys.stdout,na_rep='NULL')#空字符處顯示為NULLdata.to_csv(sys.stdout,index=False,header=False)#禁用行和列的標簽data.to_csv(sys.stdout,cols=['a','b','c'])#按照指定的順序顯示列

sys.stdout就相當于print,使用之前要import將數據寫出到文本格式1、利用data_frame的to_csJSON數據JSON數據已經成為通過http請求在wed瀏覽器和其他應用程序之間發(fā)送數據的標準格式之一,它是一種比表格型文本格式更靈活的數據格式。JSON非常接近于有效的python代碼,基本類型都有對象,數組,字符串,數值,布爾型以及null。Python形式JSON格式JSON格式json.loads()json.dumps()JSON數據JSON數據已經成為通過http請求在wed瀏覽Html基本信息HTML使用標記標簽來描述網頁HTML文檔描述網頁保存為后綴名帶.html打開就是一個網頁ahref超鏈接Html基本信息HTML使用標記標簽來描述網頁XML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。fromlxml.htmlimportparsefromurllib.requestimporturlopenurllib2在python中是urllib.requestfrompandas.io.parsersimportTextParserimportpandasaspdparsed=parse(urlopen(‘/rank/capitalforsale.html’))打開urldoc=parsed.getroot()可以得到url里面所有的elementprint('---------doc-----------')print(doc)links=doc.findall(‘.//a’)獲取所有為

的超鏈接lnk=links[3]找到其中的一個連接下面的內容print('---------lnk-----------')print(links[3])tables=doc.findall(‘.//table’)找到這個連接下面的所有table元素print('---------table-----------')print(tables)table=tables[0]找到想要的tableprint(‘---------calls-----------’)print(calls)rows=table.findall(‘.//tr’)找到table下面所有的行print('---------rows-----------')print(rows)XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。def_unpack(row,kind='td'):elts=row.findall('.//%s'%kind)return[val.text_content().strip()forvalinelts]print(‘---------th-----------’)調用函數分別打印th和一行tdprint(_unpack(rows[0],kind='th'))print()print('---------td1-----------')print(_unpack(rows[1],kind='td'))text_content()取到每一個td下面的內容strip()刪除前后的空格XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。直接用Dataframe把行和表頭拼起來也行這里TextParser類可以自動轉換數據類型最后用to_excel比to_csv好用,to_csv保存的時候中文不好用XML和HTML:WEB信息收集Python有許多可以讀寫H使用數據庫,將excel的數據導入DB中python支持多種關系型數據庫:SQLServer,MySQL,DB2等,我是直接使用Python自帶的SQLite數據庫1.導入PythonSQLITE數據庫模塊

importsqlites2.創(chuàng)建/打開數據庫在調用connect函數的時候,會指定庫名稱,如果指定的數據庫存在就直接打開這個數據庫,如果不存在就新創(chuàng)建一個再打開。

con=splites.connect(‘:memory:’)3.使用游標查詢數據庫

我們需要使用游標對象SQL語句查詢數據庫,獲得查詢對象。通過以下方法來定義一個游標

cursor=con.cursor()cursor.execute()#執(zhí)行sql語句

cursor.executemany#執(zhí)行多條sql語句

cursor.close()#關閉游標

cursor.fetchone()#從結果中取一條記錄,并將游標指向下一條記錄

cursor.fetchmany()#從結果中取多條記錄

cursor.fetchall()#從結果中取出所有記錄

cursor.scroll()

#游標滾動使用數據庫,將excel的數據導入DB中python支持多種使用數據庫,將excel的數據導入DB中python支持多種關系型數據庫:SQLServer,MySQL,DB2等,我是直接使用Python自帶的SQLite數據庫創(chuàng)建了一個test1表,用來存儲數據使用數據庫,將excel的數據導入DB中python支持多種使用數據庫,將excel的數據導入DB中python支持多種關系型數據庫:SQLServer,MySQL,DB2等,我是直接使用Python自帶的SQLite數據庫使用了for循環(huán)每次讀取一條數據然后插入到test1表中使用數據庫,將excel的數據導入DB中python支持多種ThankyouThankyou數據加載,存儲與文件格式

數據加載,存儲與文件格式1,讀寫文本格式數據:(read_csv,read_table,read_fwf,read_clipboard,open()to_csv,to_excel,write())2,JSON數據:(兩個方法:json.loads()json.dumps())3,XML和HTML:WEB信息收集(兩個接口lxml.html,lxml.objectify)4,二進制數據格式(pickle函數,短期存儲格式)5,使用HTML和WEBAPI(requests包)6,使用數據庫目錄1,讀寫文本格式數據:目錄讀取文本格式數據read_csv從文件,url,文件型對象中加載帶分隔符的數據,默認分隔符為逗號。read_table從文件,url,文件型對象中加載帶分隔符的數據,默認分隔符為制表符('\t')。read_fwf讀取定寬格式的數據,無分隔符read_clipboard讀取剪貼板中數據讀取文本格式數據read_csv從文件,url,文件型對象中讀取文本格式數據pandas讀取文件會自動推斷數據類型,不用指定。以read_csv為例,下面是常用的幾個參數:用names重新規(guī)定列名,用index_col指定索引,也可以將多個列組合作為層次化索引。可以編寫正則表達式規(guī)定分隔符。用skiprows跳過某些行。缺失數據要么沒有,要么用某個標記值表示,pandas常用NA、-1.#IND、NULL等進行標記。用na_values用來不同的NA標記值。Nrows只讀取幾行Chunksize:逐塊讀取文件定義一個字典為各個列指定NA標記值,直接=null的就是把df中所有為空值的都標為null跳過第3行讀取文本格式數據pandas讀取文件會自動推斷數據類型,不用將數據寫出到文本格式1、利用data_frame的to_csv方法,可以將數據寫到一個以逗號分隔的文件中,也可用sep參數指定分隔符,如data.to_csv()2、缺失值寫入輸出時會被表示為空字符串,可使用na_rep表示為別的標記值。不添加后綴的話默認是一個file文件data.to_csv(sys.stdout,sep='|')#打印到屏幕data.to_csv(sys.stdout,na_rep='NULL')#空字符處顯示為NULLdata.to_csv(sys.stdout,index=False,header=False)#禁用行和列的標簽data.to_csv(sys.stdout,cols=['a','b','c'])#按照指定的順序顯示列

sys.stdout就相當于print,使用之前要import將數據寫出到文本格式1、利用data_frame的to_csJSON數據JSON數據已經成為通過http請求在wed瀏覽器和其他應用程序之間發(fā)送數據的標準格式之一,它是一種比表格型文本格式更靈活的數據格式。JSON非常接近于有效的python代碼,基本類型都有對象,數組,字符串,數值,布爾型以及null。Python形式JSON格式JSON格式json.loads()json.dumps()JSON數據JSON數據已經成為通過http請求在wed瀏覽Html基本信息HTML使用標記標簽來描述網頁HTML文檔描述網頁保存為后綴名帶.html打開就是一個網頁ahref超鏈接Html基本信息HTML使用標記標簽來描述網頁XML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。fromlxml.htmlimportparsefromurllib.requestimporturlopenurllib2在python中是urllib.requestfrompandas.io.parsersimportTextParserimportpandasaspdparsed=parse(urlopen(‘/rank/capitalforsale.html’))打開urldoc=parsed.getroot()可以得到url里面所有的elementprint('---------doc-----------')print(doc)links=doc.findall(‘.//a’)獲取所有為

的超鏈接lnk=links[3]找到其中的一個連接下面的內容print('---------lnk-----------')print(links[3])tables=doc.findall(‘.//table’)找到這個連接下面的所有table元素print('---------table-----------')print(tables)table=tables[0]找到想要的tableprint(‘---------calls-----------’)print(calls)rows=table.findall(‘.//tr’)找到table下面所有的行print('---------rows-----------')print(rows)XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。def_unpack(row,kind='td'):elts=row.findall('.//%s'%kind)return[val.text_content().strip()forvalinelts]print(‘---------th-----------’)調用函數分別打印th和一行tdprint(_unpack(rows[0],kind='th'))print()print('---------td1-----------')print(_unpack(rows[1],kind='td'))text_content()取到每一個td下面的內容strip()刪除前后的空格XML和HTML:WEB信息收集Python有許多可以讀寫HXML和HTML:WEB信息收集Python有許多可以讀寫HTML和XML格式數據的庫,lxml就是其中之一。直接用Dataframe把行和表頭拼起來也行這里TextParser類可以自動轉換數據類型最后用to_excel比to_csv好用,to_csv保存的時候中文不好用XML和HTML:WEB信息收集Python有許多可以讀寫H使用數據庫,將excel的數據導入DB中python支持多種關系型數據庫:SQLServer,MySQL,DB2等,我是直接使用Python自帶的SQLite數據庫1.導入PythonSQLITE數據庫模塊

importsqlites2.創(chuàng)建/打開數據庫在調用connect函數的時候,會指定庫名稱,如果指定的數據庫存

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論