摘要:最近老大發(fā)了瘋一樣給我布置很多坑一樣的任務,郁悶至極,今天這是一個非常簡單的操作的示例。假如你全公司的數(shù)據(jù)都在一張表格中,那么請用這個把它們按部門分離出來吧。
最近老大發(fā)了瘋一樣給我布置很多坑一樣的任務,郁悶至極,今天這是一個非常簡單的操作excel的示例。
假如你全公司的數(shù)據(jù)都在一張表格中 ,那么請用這個把它們按部門分離出來吧。
用python寫一些小工具確實是簡單啊。
optionParser,繼上一節(jié)的Entry之后,你就已經(jīng)知道了怎樣輸入你的文本,那么通過命令行呢,這里的optionParser就是實現(xiàn)了這個目的。
使用optionparser模塊來解析
optionparser的執(zhí)行過程:
導入optionparser : from optparse import OptionParser
構造optionparser的對象:parser = OptionParser()
往optionparser對象中增加option :parser.add_option()
調(diào)用optionparser的解析函數(shù):(options, args) = parser.parse_args()
在options中使用解析到的options,在args中使用其他的args。
from optparse import OptionParser import sys import xlrd,xlwt STRING = "部門" #按部門分離 TITLE_ROW = 0 def split_file(filename): workbook = xlrd.open_workbook(filename)# sheet = workbook.sheet_by_index(1) #通過index選擇你需要分割的那個sheet Title=sheet.row_values(TITLE_ROW) # print(Title) index = Title.index(STRING)#選擇所需要的那一列數(shù)據(jù) print(index) all= sheet.col_values(index) department = list(set(all)) department.remove(STRING) #刪除Title這一個元素得到的是所有的部門了 print(department) wb_result=xlwt.Workbook() for sub_dt in department: row_i =0 sheet_subdt=wb_result.add_sheet(sub_dt,cell_overwrite_ok=True) for j in range(sheet.ncols): sheet_subdt.write(row_i,j,sheet.row_values(TITLE_ROW)[j]) row_i=row_i+1 for i in range(1,sheet.nrows): #第1行是Titile,從第2行開始 if sheet.row_values(i)[index] == sub_dt: for j in range(sheet.ncols): sheet_subdt.write(row_i,j,sheet.row_values(i)[j]) row_i=row_i+1 wb_result.save("result-split.xls") def main(): parser = OptionParser(description="split your excel sheet to many by keywords.", usage="%prog [-f]", version="%prog 1.0") parser.add_option("-f", "--filename", dest="filename", help="the filename that you need to split.") options, args = parser.parse_args(args=sys.argv[1:]) stock = split_file(options.filename) if __name__=="__main__": main()
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/38344.html
摘要:今天老大交給我一個任務,對比兩個版本的數(shù)據(jù)的異同增刪情況,唉,說多了都是淚,自從學會了,再也不用擔心老大這樣的任務了好了直接上代碼吧,代碼中解釋暫時用不上定義兩個全局,分別存儲原始和目的需要對比的數(shù)據(jù)打開原始文件打開目標文件新建一個文件,用 今天老大交給我一個任務,對比兩個版本的excel數(shù)據(jù)的異同(增刪情況),唉,說多了都是淚,自從學會了python,再也不用擔心老大這樣的任務了~~...
摘要:功能將數(shù)據(jù)導入到數(shù)據(jù)庫練習使用將的數(shù)據(jù)導入到練習語句查看創(chuàng)建插入語句創(chuàng)建一個循環(huán)迭代讀取文件每行數(shù)據(jù)的從第二行開始是要跳過標題關閉游標提交關閉數(shù)據(jù)庫連接打印結果我剛導入了除了之外還可以另外的寫操作詞篇暫不贅述對于的操作有很多有意思的方法, 功能:將Excel數(shù)據(jù)導入到MySQL數(shù)據(jù)庫 練習使用sqlite3 將excel的數(shù)據(jù)導入到mysql 練習sql語句-查看dochttps:...
環(huán)境:python 3.6.8 以某米賽爾號舉個例子吧: showImg(https://segmentfault.com/img/bVboqzz?w=396&h=215);showImg(https://segmentfault.com/img/bVboqzA?w=362&h=216); >>> pd.read_excel(1.xlsx, sheet_name=Sheet2) 名字 ...
摘要:一大熊貓世界來去自如的老生常談,從基礎來看,我們?nèi)匀魂P心對于與外部數(shù)據(jù)是如何交互的。函數(shù)受限制問題唯一重要的參數(shù),標志著一個的第個頁將會被取出。數(shù)據(jù)分析入門之總結基礎一歡迎來翔的博客查看完成版。 一.大熊貓世界來去自如:Pandas的I/O 老生常談,從基礎來看,我們?nèi)匀魂P心pandas對于與外部數(shù)據(jù)是如何交互的。 1.1 結構化數(shù)據(jù)輸入輸出 read_csv與to_csv 是?對...
摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個文件夾中的打開工作簿批量重命名一個工作簿的所有工作表批量重命名多個工作簿批量重命名多個工作簿中的同名工作表將一個工作簿的所有工作表批量復制到其他工作簿按條件將一 ...
閱讀 1495·2021-11-22 15:24
閱讀 2604·2021-10-11 11:06
閱讀 2398·2021-10-09 09:45
閱讀 2629·2021-09-09 09:33
閱讀 689·2019-08-30 15:53
閱讀 1504·2019-08-30 12:48
閱讀 827·2019-08-29 13:47
閱讀 557·2019-08-26 18:27