摘要:如星期三為月份的簡寫。如月份為月份的全寫。如月份為日期時間的字符串表示。
摘要
剛接觸scrapy時候,需要把item經(jīng)過pipelines處理后插入到mysql,寫插入語句教程是將item數(shù)據(jù)一個個枚舉出來,在字段特別多的時候還是蠻麻煩的,而且可擴展性比較差,其實只要稍作封裝就能很好的解決這種尷尬
import pymysql from datetime import datetime class MyPyMysql(object): def __init__(self, user, passwd, db, host="localhost", port=3306, use_unicode=True): self.host = host self.port = port self.user = user self.passwd = passwd self.db = db self.connect = pymysql.connect(host=self.host, port=self.port, db=self.db, user=self.user, passwd=self.passwd, use_unicode=True) self.cursor = self.connect.cursor() def insert(self, table_name, kwargs): sql = "insert into {} ({}) VALUES {};".format(table_name, ",".join(list(kwargs.keys())), tuple(kwargs.values())) self.query(sql) """ success excute insert into student (id,name,age,birthData) VALUES (12, "dalex", 20, "2018-03-15 14:32:35.271451"); success excute insert into student (id,name,age,birthData) VALUES (23, "balex", 20, "2018-03-15 14:32:35.271451"); """ print("success excute {}".format(sql)) def query(self, sql): self.cursor.execute(sql) self.connect.commit() def close(self): self.cursor.close() self.connect.close() if __name__ == "__main__": me = MyPyMysql("root", "root", "blog") birthData = str(datetime.now()) me.insert("student", {"id": 12, "name": "dalex", "age": 20, "birthData": birthData}) me.insert("student", {"id": 23, "name": "balex", "age": 20, "birthData": birthData}) me.close()
日期格式化
由于對日期函數(shù)不是很熟悉,插入日期格式不對導(dǎo)致插入失敗,后來查了下相關(guān)文檔,清楚了很多
1、由日期格式轉(zhuǎn)化為字符串格式的函數(shù)為: datetime.datetime.strftime()
2、由字符串格式轉(zhuǎn)化為日期格式的函數(shù)為: datetime.datetime.strptime()
from datetime import datetime print(datetime.now().strftime("%Y-%m-%d")) print(datetime.strptime("2018-03-15 15:32:24", "%Y-%m-%d %H:%M:%S")) """ 輸出結(jié)果為: 2018-03-15 2018-03-15 15:32:24 """ #格式化時間相操作 # %a 星期的簡寫。如 星期三為Web # %A 星期的全寫。如 星期三為Wednesday # %b 月份的簡寫。如4月份為Apr # %B月份的全寫。如4月份為April # %c: 日期時間的字符串表示。(如: 04/07/10 10:43:39) # %d: 日在這個月中的天數(shù)(是這個月的第幾天) # %f: 微秒(范圍[0,999999]) # %H: 小時(24小時制,[0, 23]) # %I: 小時(12小時制,[0, 11]) # %j: 日在年中的天數(shù) [001,366](是當(dāng)年的第幾天) # %m: 月份([01,12]) # %M: 分鐘([00,59]) # %p: AM或者PM # %S: 秒(范圍為[00,61],為什么不是[00, 59],參考python手冊~_~) # %U: 周在當(dāng)年的周數(shù)當(dāng)年的第幾周),星期天作為周的第一天 # %w: 今天在這周的天數(shù),范圍為[0, 6],6表示星期天 # %W: 周在當(dāng)年的周數(shù)(是當(dāng)年的第幾周),星期一作為周的第一天 # %x: 日期字符串(如:04/07/10) # %X: 時間字符串(如:10:43:39) # %y: 2個數(shù)字表示的年份 # %Y: 4個數(shù)字表示的年份 # %z: 與utc時間的間隔 (如果是本地時間,返回空字符串) # %Z: 時區(qū)名稱(如果是本地時間,返回空字符串) # %%: %% => %
引用
1,python中datetime模塊中strftime/strptime函數(shù)
2,pymsql github 源碼
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/44620.html
摘要:之所以把冒泡排序選擇排序插入排序放在一起比較,是因為它們的平均時間復(fù)雜度都為。其中,冒泡排序就是原地排序算法。所以冒泡排序是穩(wěn)定的排序算法。選擇排序思路選擇排序算法的實現(xiàn)思路有點類似插入排序,也分已排序區(qū)間和未排序區(qū)間。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 1. 前言 算法為王。 想學(xué)好前端,先練好內(nèi)功,...
摘要:對于大多數(shù)典型的企業(yè)應(yīng)用而言,其性能表現(xiàn)幾乎完全依賴于持久層的性能。速成法使用批處理對于批處理程序,驅(qū)動程序提供了旨在減少網(wǎng)絡(luò)來回傳輸?shù)膬?yōu)化方法。速成法檢查錯誤的提交間隔如果你使用批處理程序,提交間隔會對性能造成十倍甚至百倍的影響。 對于大多數(shù)典型的 Spring/Hibernate 企業(yè)應(yīng)用而言,其性能表現(xiàn)幾乎完全依賴于持久層的性能。此篇文章中將介紹如何確認(rèn)應(yīng)用是否受數(shù)據(jù)庫約束,同時...
摘要:今天,一條就帶大家徹底跨過排序算法這道坎,保姆級教程建議收藏。利用遞歸算法,對分治后的子數(shù)組進(jìn)行排序。基本思想堆排序是利用堆這種數(shù)據(jù)結(jié)構(gòu)而設(shè)計的一種排序算法,堆排序是一種選擇排序,它的最壞,最好,平均時間復(fù)雜度均為,它也是不穩(wěn)定排序。 ...
閱讀 537·2021-10-19 11:45
閱讀 1346·2021-09-30 09:48
閱讀 1464·2021-08-16 10:56
閱讀 728·2021-07-26 23:38
閱讀 3207·2019-08-30 13:15
閱讀 2589·2019-08-30 12:45
閱讀 1823·2019-08-29 12:14
閱讀 2059·2019-08-26 18:42