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