復(fù)制粘貼功能的Python程序
更新時(shí)間:2008年04月04日 19:19:03 作者:
接下來(lái),由于我覺(jué)得手動(dòng)復(fù)制粘貼這29000條插入語(yǔ)句實(shí)在是太痛苦了,所以打算用Python來(lái)完成這項(xiàng)工作。這是我第一次自己動(dòng)手寫(xiě)Python代碼,感覺(jué)還挺順利的。
今天因?yàn)榻oBeauBeau提供的抽獎(jiǎng)號(hào)碼做SQL文件,一開(kāi)始收到ZIP文件解開(kāi)壓縮之后被嚇到了——29個(gè)CSV文件,每個(gè)文件保存了1000個(gè)獎(jiǎng)券ID和號(hào)碼-_-!
照上次一樣,打開(kāi)每個(gè)CSV文件做先做單獨(dú)的SQL文件,每個(gè)SQL中有1000條插入語(yǔ)句,隨后將29個(gè)文件的所有SQL語(yǔ)句都復(fù)制粘貼到同一個(gè)總的SQL文件中。
CSV文件中的結(jié)構(gòu)是“ID,NUMBER”的結(jié)構(gòu),其中ID是7位數(shù)字,NUMBER是11位數(shù)字。這樣用正則式來(lái)進(jìn)行捕捉的時(shí)候就比較方便了,在Eclipse的查找/替換功能中所使用的正則式就是“(\d{7}),(\d{11})”,進(jìn)行替換的文本內(nèi)容就是“INSERT INTO cards VALUES ('$1','$2',now());”。使用這種方法對(duì)29個(gè)CSV文件中的內(nèi)容進(jìn)行替換。
所有代碼如下:
import sys, os
def readFile(filename):
file=open(filename, "r")
s=file.read().strip()
file.close()
return s
def writeFile(filename, files):
content=[]
for f in files:
print "reading file ' %s ' " % f
s=readFile(f)
print "read file ' %s ' completed" % f
content.append(s)
print "writing file ' %s ' " % filename
file=open(filename, "w")
file.write("\n/*-----This is a seperating line.-----*/\n".join(content))
file.close()
print "write file ' %s ' completed" % filename
filters=['.txt']
fullpath=os.getcwd();
print "opening directory: ' %s ' " % fullpath
sys.path.append(fullpath)
files = os.listdir(fullpath)
files =[f for f in files if os.path.splitext(f)[1].lower() in filters]
writeFile("beaunet_be_card.sql", files)
程序的功能很簡(jiǎn)單,這也是我在Python的道路上邁出的第一步。
有時(shí)間的時(shí)候重寫(xiě)這段代碼,加入正則替換功能
照上次一樣,打開(kāi)每個(gè)CSV文件做先做單獨(dú)的SQL文件,每個(gè)SQL中有1000條插入語(yǔ)句,隨后將29個(gè)文件的所有SQL語(yǔ)句都復(fù)制粘貼到同一個(gè)總的SQL文件中。
CSV文件中的結(jié)構(gòu)是“ID,NUMBER”的結(jié)構(gòu),其中ID是7位數(shù)字,NUMBER是11位數(shù)字。這樣用正則式來(lái)進(jìn)行捕捉的時(shí)候就比較方便了,在Eclipse的查找/替換功能中所使用的正則式就是“(\d{7}),(\d{11})”,進(jìn)行替換的文本內(nèi)容就是“INSERT INTO cards VALUES ('$1','$2',now());”。使用這種方法對(duì)29個(gè)CSV文件中的內(nèi)容進(jìn)行替換。
所有代碼如下:
復(fù)制代碼 代碼如下:
import sys, os
def readFile(filename):
file=open(filename, "r")
s=file.read().strip()
file.close()
return s
def writeFile(filename, files):
content=[]
for f in files:
print "reading file ' %s ' " % f
s=readFile(f)
print "read file ' %s ' completed" % f
content.append(s)
print "writing file ' %s ' " % filename
file=open(filename, "w")
file.write("\n/*-----This is a seperating line.-----*/\n".join(content))
file.close()
print "write file ' %s ' completed" % filename
filters=['.txt']
fullpath=os.getcwd();
print "opening directory: ' %s ' " % fullpath
sys.path.append(fullpath)
files = os.listdir(fullpath)
files =[f for f in files if os.path.splitext(f)[1].lower() in filters]
writeFile("beaunet_be_card.sql", files)
有時(shí)間的時(shí)候重寫(xiě)這段代碼,加入正則替換功能
您可能感興趣的文章:
- python通用讀取vcf文件的類(lèi)(復(fù)制粘貼即可用)
- Python列表的深復(fù)制和淺復(fù)制示例詳解
- Python文件名匹配與文件復(fù)制的實(shí)現(xiàn)
- 基于python實(shí)現(xiàn)復(fù)制文件并重命名
- python利用os模塊編寫(xiě)文件復(fù)制功能——copy()函數(shù)用法
- python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例
- python 解壓、復(fù)制、刪除 文件的實(shí)例代碼
- python pptx復(fù)制指定頁(yè)的ppt教程
- python如何實(shí)現(xiàn)復(fù)制目錄到指定目錄
- linux 下python多線程遞歸復(fù)制文件夾及文件夾中的文件
- 如何用python實(shí)現(xiàn)復(fù)制粘貼功能
相關(guān)文章
django將圖片上傳數(shù)據(jù)庫(kù)后在前端顯式的方法
今天小編就為大家分享一篇django將圖片上傳數(shù)據(jù)庫(kù)后在前端顯式的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05PyCharm中鼠標(biāo)懸停在函數(shù)上時(shí)顯示函數(shù)和幫助的解決方法
這篇文章主要介紹了PyCharm中鼠標(biāo)懸停在函數(shù)上時(shí)顯示函數(shù)和幫助,本文給大家分享問(wèn)題解決方法,對(duì)PyCharm鼠標(biāo)懸停函數(shù)上顯示函數(shù)的解決方法感興趣的朋友跟隨小編一起看看吧2022-11-11python編程通過(guò)蒙特卡洛法計(jì)算定積分詳解
這篇文章主要介紹了python編程通過(guò)蒙特卡洛法計(jì)算定積分詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12Pygame改編飛機(jī)大戰(zhàn)制作兔子接月餅游戲
一年中秋又快到了,今年加入了Python的學(xué)習(xí)行列,得益于Python的開(kāi)發(fā)效率和易讀性,網(wǎng)上寫(xiě)文章的次數(shù)多了起來(lái),既然是中秋節(jié)那肯定要搞個(gè)應(yīng)景的游戲才行2022-09-09python 使用while寫(xiě)猜年齡小游戲過(guò)程解析
這篇文章主要介紹了python 使用while寫(xiě)猜年齡小游戲過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10python 判斷參數(shù)為Nonetype類(lèi)型或空的實(shí)例
今天小編就為大家分享一篇python 判斷參數(shù)為Nonetype類(lèi)型或空的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10python基礎(chǔ)教程項(xiàng)目四之新聞聚合
這篇文章主要為大家詳細(xì)介紹了python基礎(chǔ)教程項(xiàng)目四之新聞聚合,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python OpenCV調(diào)用攝像頭檢測(cè)人臉并截圖
這篇文章主要為大家詳細(xì)介紹了Python OpenCV調(diào)用攝像頭檢測(cè)人臉并截圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07