Advertisement
rs_al

xlwt+xlrd

Oct 19th, 2018
519
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. def xls_wrk(filename):
  2.     #open file
  3.     rb = open_workbook(filename)
  4.     #set active sheet
  5.     rs = rb.sheet_by_index(0)
  6.     #make instance for xlsutils
  7.     wb = copy(rb)
  8.     ws = wb.get_sheet(0)
  9.     rows = rs.nrows
  10.     cols = rs.ncols
  11.  
  12.     #iterate and prepare format for SQL db tables
  13.     wb = copy(rb)
  14.  
  15.     for row_idx in range (0,rows):
  16.         for col_idx in range (0,cols):
  17.             cell=rs.cell(row_idx,col_idx)
  18.             clval = cell.value
  19.             cltp = cell.ctype
  20.             ws = wb.get_sheet(0)
  21.             if cltp == xlrd.XL_CELL_BLANK:
  22.                clval ="xy"
  23.                ws.write(row_idx,col_idx,"xy")
  24.             elif cltp == xlrd.XLDateError:
  25.                 date_format = XFStyle()
  26.                 date_format.num_format_str = 'dd/MM/yyyy'
  27.                 clval = '01/01/2018'
  28.                 ws.write(row_idx,col_idx, '01/01/2018', date_format)
  29.             elif cltp == xlrd.XL_CELL_EMPTY:
  30.                 clval="XYU"
  31.                 ws.write(row_idx,col_idx,"xy")
  32.             elif cltp == xlrd.XL_CELL_NUMBER:
  33.                 if clval < 0:
  34.                  clval=0
  35.                  ws.write(row_idx,col_idx,0)
  36.             elif cltp == xlrd.XL_CELL_TEXT:
  37.                  clval = ftfy.fix_text(clval)
  38.  
  39.                  ws.write(row_idx,col_idx, ftfy.fix_text(clval))
  40.  
  41.             elif clval == -693594:
  42.                  date_format = XFStyle()
  43.                  date_format.num_format_str = 'dd/MM/yyyy'
  44.                  clval='01/01/2018'
  45.                  ws.write(row_idx, col_idx,'01/01/2018',date_format)
  46.                  #print (row_idx,col_idx)
  47.  
  48.     save(wb,'abbcards_2.xls')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement