import mysqldb
import mysqldb.cursors
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
上面的**匯入了資料庫和設定了編碼型別為utf-8,如果沒安裝的自行安裝,這裡推薦安裝mamp(osx);wamp(win)。
db = mysqldb.connect(host='127.0.0.1', user='root', passwd='root', db='douban', port=8889, charset='utf8', cursorclass = mysqldb.cursors.dictcursor)
db.autocommit(true)
cursor = db.cursor()
這裡的db
匯入了我們的資料庫位址,可以看到有很多屬性。
db.autocommit
是資料庫的自動提交事務的屬性,這樣做就把事務更改交給系統了,爬蟲適用,但是缺點是出錯無法回滾(這個是個人的理解有錯希望指出!)。
db.cursor
其實就是用來獲得python執行mysql命令的方法,也就是
我們所說的操作游標。
fr = open('/users/noah/pycharmprojects/mysql/douban_movie_clean.txt', 'r')
# #create
# count=0
# for line in fr:
# count += 1
# print count
# if count ==1:
# continue
# line = line.strip().split('^')
# cursor.execute("insert into movie(title,url,rate,length,description) values (%s, %s, %s, %s, %s)", [line[1],line[2],line[4],line[-3],line[-1]])
# fr.close()
# #update
# cursor.execute("update movie set title = %s, length = %s where id = 1" , [ 'noah' ,999])
# #read
# cursor.execute("select * from movie")
# cursor.execute("select url from movie")
# cursor.execute("select title from movie where id = 777")
# movies = cursor.fetchall()
# # movies = cursor.fetchone()
# print len(movies)
# print movies[0]
# print '\u9b42\u65ad\u84dd\u6865'.decode('unicode-escape')
# #delete
# # cursor.execute("delete from movie where id = 1 ")
# cursor.execute("delete from movie where id = %s ",[1])
cursor.close()
db.close()
上面演示了對於資料庫的聽、說、讀、寫。
哦不對,是建立、修改、讀取、刪除。
但首先需要fr = open('檔案路徑', 'r')
open乙個資料,
完事後要cursor.close()
最後要db.close()
以上差不多就是對於資料庫最基本的操作了。
海量資料處理 一
想法 1.hash對映 順序讀取10個檔案,按照hash ip 10的結果將資料寫入到另外10個檔案中。2.hash統計 依次對小檔案用hash map ip,ip count 來統計每個ip出現的次數。3.堆 快速 歸併排序 利用快速 堆 歸併排序按照出現次數進行排序,將排序好的ip和對應的ip ...
海量資料處理 一
題目一 搜尋引擎會通過日誌檔案把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1 255位元組。假設目前有一千萬個記錄 這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。乙個查詢串的重複度越高,說明查詢它的使用者越多,也就是越熱門。請你統計最熱門的10個查詢...
Pandas資料處理(一)
pandas資料處理 一 import pandas as pd import numpy as np 利用numpy生成一組datafrome資料 df pd.dataframe np.arange 16 reshape 4,4 print df out 0 1 2 3 0 0 1 2 3 1 4...