http://tushare.org/ 財經數據html
http://archive.ics.uci.edu/ml 機器學習html5
文本數據mysql
csv和txtsql
讀取mongodb
import pandas as pd df=pd.read_csv('xx.csv') df=pd.read_table('xx.csv',sep=',') list(open('xx.txt')) df=pd.read_table('xx.txt',sep='\s+')
分片/塊讀取文本數據數據庫
import pandas as pd pd.read_csv('xx.csv',nrows=5) #讀取5行 pd.read_csv('xx.csv',chunksize=5) #一批100個
把數據寫入文本格式json
import pandas as pd import numpy as np from pandas import Series data.to_csv('out.csv',sep='|',na_rep='NULL') #分隔符|,na值填充爲NULL dates=pd.date_range('1/1/2000',periods=7) #從2000/1/1開始,要7天數據 ts=Series(np.arange(7),index=dates) ts.to_csv('tserties.csv')
手動讀寫數據(按要求):資源有限的時候,如30w多條的數據,吃內存 瀏覽器
1 import csv 2 #一行一行讀 3 f=open('xx.csv') 4 reader=csv.reader(f) 5 for line in reader: 6 print(line) 7 8 lines=list(csv.reader(open('xx.csv'))) 9 header,values=lines[0],lines[1:] 10 data_dict={h:v for h,v in zip(header,zip(*values))}
JSON格式的數據session
1 import json 2 obj=\ 3 """ 4 {"姓名":"張三", 5 "住處":["天朝","挖煤國"] 6 } 7 """ 8 9 result=json.loads(obj) #字符串-》json 10 print(result) 11 print(result['住處'][0]) 12 13 asjson=json.dumps(obj) 14 print(asjson)
xml和HTML機器學習
html:beautifulSoup獲取要找的元素
xml:lxml解析
二進制格式
不方便人看,可是性能更好,方便存儲
import pandas as pd frame=pd.read_csv('xx.csv') frame.to_pickle('frame_pickle') #以二進制寫進去
2 數據庫相關操做
2.1sqlite數據庫:import sqlite3
2.2 mysql:import MySQLdb 必定要commit才能夠執行
2.3 memcache
2.4 mongodb
3 爬蟲
庫Requests
1 import requests 2 from bs4 import BeautifulSoup 3 4 #添加代理:反爬,不斷更換代理IP 5 proxies={ 6 "http":"http://10.10.1.10:3128", 7 "https":"http://10.10.1.10:1080" 8 } 9 #代理須要帳戶和密碼 10 # proxies={ 11 # "http":"http:user:pass@10.10.1.10:3128/", 12 # } 13 content=requests.get("http://news.qq.com/",proxies=proxies).content 14 15 soup=BeautifulSoup(content,"html5lib",from_encoding="GB2312") 16 17 samples=soup.find_all("a") 18 for sample in samples: 19 print(sample.get_text())
模擬登錄
from bs4 import BeautifulSoup import requests s=requests.session() data={'user':'用戶名','passdw':'密碼'} res=s.post('https://www.douban.com/accounts/login?source=main',data) #而後就能夠抓取你要的內容了
案例:鏈家網抓取
設置請求頭部信息,設置爲瀏覽器
抓取列表頁信息:time.sleep(1)
用bs4解析頁面內容
清洗數據並整理到數據表中
pandas.DataFrame
對數據分隔
合併分裂結果,pd.merge