繼續深入學習sqlite3的使用!
用了兩種循環實現,第一種比較笨,第二種我比較喜歡,謹記!
#!/usr/bin/env python #coding=utf-8 """ 程序說明: 如何將一個文本文件user.txt(內容如下) id|name|desc 1|xiaofang|hello 2|xiaoming|hhh 導入到一張數據庫表中 csdn地址:http://topic.csdn.net/u/20100521/20/681a8d5c-e498-4637-aac1-f0638831d514.html?8042 """ import os import sqlite3 as db #函數定義處: def main(): s1 = s2 = s3 = '' if os.path.exists("123.txt"): #判斷文本文件是否存在 conn = db.connect("mydb.db") cur = conn.cursor() try:#判斷表txtdb是否存在,不存在就創建該表 cur.execute("""create table txtdb( id integer, name text, desc text)""") except: pass fi = open("123.txt",'r') """ #解題思路二 >>> fi = open("123.txt") >>> line = fi.next() >>> while 1: s1,s2,s3 = line.split("|") try: line = fi.next() print s1,s2,s3[:-1] except: print s1,s2,s3 break """ line = fi.next() while 1: s1,s2,s3 = line.split("|") try: line = fi.next() cur.execute("insert into txtdb values(?,?,?)",(int(s1),s2,s3[:-1])) except: cur.execute("insert into txtdb values(?,?,?)",(int(s1),s2,s3)) break """ #解題思路一 while 1: try: if (s1 != '')and(s2 != '')and(s3 != ''): cur.execute("insert into txtdb values(?,?,?)",(int(s1),s2,s3[:-1])) s1,s2,s3 = fi.next().split("|") except: cur.execute("delete from txtdb where desc=:strs",{"strs":s3[:-1]}) cur.execute("insert into txtdb values(?,?,?)",(int(s1),s2,s3)) break """ conn.commit() fi.close() print "數據轉換成功!" if __name__=="__main__": #程序主控區 main() #os.system('pause')
更新pip之後,Pycharm安裝package出現報錯:module ‘pip’ has no attribute ‘main’ 找到安裝目錄下 helpers/packaging_tool.py文件,找到如下代碼: def d
pip 是 Python 管理第三方庫的工具,非常常用。pip 會從 pypi 倉庫中下載第三方庫文件。 由於 pypi 處於國外,所以下載經常報超時。每次看到一片紅色,真是隨時懷疑自己的人品。 ReadTimeoutError:
匿名也就是沒有名字,函數爲什麼要匿名呢? 有沒有感覺每次爲函數取名都是件很悲劇的事情,想取個像樣點的函數名很摳腦殼。 如果某個函數我們只需要使用一次的時候,還需要取名是不是就更悲劇了? Python 與 JavaScript 支持
在編寫Python代碼進行自動化測試、網絡爬蟲或者其他與網絡相關的動作的時候,由於網絡影響會容易失敗,而這種失敗並不是我們需要去處理的。那麼這種時候最好的辦法就是失敗後重試幾次,以避免網絡的間斷性影響。 如果我們正常編寫代碼的話,
在平時的使用過程中,經常會使用到有關於python調整圖片的需求,所以現將源代碼po出,將來有需要會直接找到 import Image import os path = os.getcwd() rate = 3.06 for file
import os import Image import ImageDraw path = os.getcwd() print path f = open("1.csv","r") lines = f.readlines() for l
Python 利用 HTMLParser ,可以把網頁中的文本、圖像等解析出來。 實例 #!/usr/bin/env python3 # -*- coding: utf-8 -*- ' HTMLParser ' __autho
data_list = [] data_list.append({'softname':'1','version':'1.2.2.2'}) data_list.append({'softname':'7','version':'1.2.2
在第六章已經有所介紹,這裏看到一篇比較好的文章轉過來。 基本概念 裝飾器是23z種設計模式之一,經常被用於有切面需求的場景,較爲經典的有插入日誌、性能測試、事務處理, Web權限校驗, Cache等。 很有名的例子來理解,咖啡,加糖的咖啡
In [2]: # problem 1 class Foo: x = 1 f1 = Foo() f2 = Foo() print Foo.x, f1.x, f2.x f2.x = 2 print Foo.x, f
翻了一篇workflow上關於yield的用法,翻的有點爛,在這裏貽笑大方了,慢慢來,總是期待着一點一點的進步。 爲了理解yield的機制,我們需要理解什麼是生成器。在此之前先介紹迭代器iterables。 Iterables
如果你沒有任何以往的經驗與面向對象(OO)編程,你可能想諮詢或至少某種教程的入門課程,所以,你必須掌握的基本概念. 然而,這裏是小推出的面向對象編程(OOP)給你帶來更好的學習速度: 面向對象術語 類: 用戶定義的一個對象,它定義
背景 在使用matplotlib.pyplot 進行繪圖時,經常會出現中文字體亂碼。是由於其內置的字符集不支持中文字符,需要重新配置字符集。 解決方案一 通過pl.rc參數設置pyplot的字符集,代碼如下: from matplot
self代表類的實例,而非類 類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱, 按照慣例它的名稱是 self。 class Test: def prt(self): print(
例子:解析CSDN論壇帖子列表,以“腳本語言(Perl ,Python)版塊”爲例。 代碼: #導入模塊 import urllib2 from BeautifulSoup import BeautifulSoup #獲取