摘要:最近老大發(fā)了瘋一樣給我布置很多坑一樣的任務(wù),郁悶至極,今天這是一個(gè)非常簡(jiǎn)單的操作的示例。假如你全公司的數(shù)據(jù)都在一張表格中,那么請(qǐng)用這個(gè)把它們按部門分離出來(lái)吧。
最近老大發(fā)了瘋一樣給我布置很多坑一樣的任務(wù),郁悶至極,今天這是一個(gè)非常簡(jiǎn)單的操作excel的示例。
假如你全公司的數(shù)據(jù)都在一張表格中 ,那么請(qǐng)用這個(gè)把它們按部門分離出來(lái)吧。
用python寫一些小工具確實(shí)是簡(jiǎn)單啊。
optionParser,繼上一節(jié)的Entry之后,你就已經(jīng)知道了怎樣輸入你的文本,那么通過(guò)命令行呢,這里的optionParser就是實(shí)現(xiàn)了這個(gè)目的。
使用optionparser模塊來(lái)解析
optionparser的執(zhí)行過(guò)程:
導(dǎo)入optionparser : from optparse import OptionParser
構(gòu)造optionparser的對(duì)象:parser = OptionParser()
往optionparser對(duì)象中增加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) #通過(guò)index選擇你需要分割的那個(gè)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這一個(gè)元素得到的是所有的部門了 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()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/38344.html
摘要:今天老大交給我一個(gè)任務(wù),對(duì)比兩個(gè)版本的數(shù)據(jù)的異同增刪情況,唉,說(shuō)多了都是淚,自從學(xué)會(huì)了,再也不用擔(dān)心老大這樣的任務(wù)了好了直接上代碼吧,代碼中解釋暫時(shí)用不上定義兩個(gè)全局,分別存儲(chǔ)原始和目的需要對(duì)比的數(shù)據(jù)打開原始文件打開目標(biāo)文件新建一個(gè)文件,用 今天老大交給我一個(gè)任務(wù),對(duì)比兩個(gè)版本的excel數(shù)據(jù)的異同(增刪情況),唉,說(shuō)多了都是淚,自從學(xué)會(huì)了python,再也不用擔(dān)心老大這樣的任務(wù)了~~...
摘要:功能將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)練習(xí)使用將的數(shù)據(jù)導(dǎo)入到練習(xí)語(yǔ)句查看創(chuàng)建插入語(yǔ)句創(chuàng)建一個(gè)循環(huán)迭代讀取文件每行數(shù)據(jù)的從第二行開始是要跳過(guò)標(biāo)題關(guān)閉游標(biāo)提交關(guān)閉數(shù)據(jù)庫(kù)連接打印結(jié)果我剛導(dǎo)入了除了之外還可以另外的寫操作詞篇暫不贅述對(duì)于的操作有很多有意思的方法, 功能:將Excel數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫(kù) 練習(xí)使用sqlite3 將excel的數(shù)據(jù)導(dǎo)入到mysql 練習(xí)sql語(yǔ)句-查看dochttps:...
環(huán)境:python 3.6.8 以某米賽爾號(hào)舉個(gè)例子吧: 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) 名字 ...
摘要:一大熊貓世界來(lái)去自如的老生常談,從基礎(chǔ)來(lái)看,我們?nèi)匀魂P(guān)心對(duì)于與外部數(shù)據(jù)是如何交互的。函數(shù)受限制問(wèn)題唯一重要的參數(shù),標(biāo)志著一個(gè)的第個(gè)頁(yè)將會(huì)被取出。數(shù)據(jù)分析入門之總結(jié)基礎(chǔ)一歡迎來(lái)翔的博客查看完成版。 一.大熊貓世界來(lái)去自如:Pandas的I/O 老生常談,從基礎(chǔ)來(lái)看,我們?nèi)匀魂P(guān)心pandas對(duì)于與外部數(shù)據(jù)是如何交互的。 1.1 結(jié)構(gòu)化數(shù)據(jù)輸入輸出 read_csv與to_csv 是?對(duì)...
摘要:使用批量處理工作簿和工作表批量新建并保存工作簿批量打開一個(gè)文件夾中的打開工作簿批量重命名一個(gè)工作簿的所有工作表批量重命名多個(gè)工作簿批量重命名多個(gè)工作簿中的同名工作表將一個(gè)工作簿的所有工作表批量復(fù)制到其他工作簿按條件將一 ...
閱讀 1428·2021-11-22 15:24
閱讀 2519·2021-10-11 11:06
閱讀 2323·2021-10-09 09:45
閱讀 2525·2021-09-09 09:33
閱讀 634·2019-08-30 15:53
閱讀 1439·2019-08-30 12:48
閱讀 657·2019-08-29 13:47
閱讀 500·2019-08-26 18:27