python模塊簡單說明: xlsxwriter:負(fù)責(zé)寫入數(shù)據(jù) xlrd:負(fù)責(zé)讀取數(shù)據(jù) xlsxwriter 官方文檔:http://xlsxwriter. 本實(shí)例是剛寫出來的,目前比較粗糙,。 寫這實(shí)例主要是結(jié)合平時工作內(nèi)容,把手動操作改成自動化。 平時線上更新游戲版本號后,,需要把版本號記錄到一個excel文件中,每次更新都要修改,比較蛋疼,,雖然版本號在數(shù)據(jù)庫中也有存在,,但還是要往excel記錄一份。 這些代碼目前只是測試代碼,,從原excel中讀取所有內(nèi)容,,然后修改,再重成新的excel(其實(shí)我代碼中并沒有修改,,只是把內(nèi)容讀出來,,再寫回去,唯一的就是做了些表格屬性設(shè)定吧,,其實(shí)我放到運(yùn)維工具上后,,就會結(jié)合平臺,及數(shù)據(jù)庫,,去修改要修改的數(shù)據(jù)),。 - #coding=utf-8
- #/usr/bin/env python
- import xlsxwriter,xlrd
- import sys,os.path
- fname = 'zm6.xlsx'
- if not os.path.isfile(fname):
- print u'文件路徑不存在'
- sys.exit()
- data = xlrd.open_workbook(fname) # 打開fname文件
- data.sheet_names() # 獲取xls文件中所有sheet的名稱
- table = data.sheet_by_index(0) # 通過索引獲取xls文件第0個sheet
- nrows = table.nrows # 獲取table工作表總行數(shù)
- ncols = table.ncols # 獲取table工作表總列數(shù)
- workbook = xlsxwriter.Workbook('zm6.xlsx') #創(chuàng)建一個excel文件
- worksheet = workbook.add_worksheet() #創(chuàng)建一個工作表對象
- worksheet.set_column(0,ncols,22) #設(shè)定列的寬度為22像素
- #border:邊框,align:對齊方式,,bg_color:背景顏色,,font_size:字體大小,bold:字體加粗
- top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})
- green = workbook.add_format({'border':1,'align':'center','bg_color':'green','font_size':12})
- yellow = workbook.add_format({'border':1,'bg_color':'yellow','font_size':12})
- red = workbook.add_format({'border':1,'align':'center','bg_color':'red','font_size':12})
- blank = workbook.add_format({'border':1})
- for i in xrange(nrows):
- worksheet.set_row(i,22) #設(shè)定第i行單元格屬性,,高度為22像素,,行索引從0開始
- for j in xrange(ncols):
- cell_value = table.cell_value(i,j,) #獲取第i行中第j列的值
- if i == 0:
- format = top
- elif i == 3 or i == 6:
- format = blank
- else:
- if j == 0 or j == 2:
- format = yellow
- elif j == 1:
- format = red
- elif j == 3:
- format = green
- green.set_num_format('yyyy-mm-dd') #設(shè)置時間格式
- worksheet.write(i,j,cell_value,format) #把獲取到的值寫入文件對應(yīng)的行列
- format.set_align('vcenter') #設(shè)置單元格垂直對齊
- workbook.close()
看完代碼,再來看我修改之前,,即原始的excel文件內(nèi)容: python xlsxwriter修改之前 讀取內(nèi)容后,,新生成的excel文件內(nèi)容: python xlsxwriter修改之后 這些代碼格式屬性,是因?yàn)槲姨匾飧鶕?jù)原來的文件格式制定的,,所以在代碼中,,能看到好幾個if語句。 正因?yàn)檫@樣,,看到的前后圖對比,,很相像。
|