1. 程式人生 > >python 讀取excel 並將對應生成浮點資料進行處理

python 讀取excel 並將對應生成浮點資料進行處理

1.python 讀取excel 檢簡單 

def open_excel(file=u'D:\\python27File\\crmAutoTest\\configFile\\logincase.xlsx'):
#     try:
#         data = xlrd.open_workbook(file)
#         return data
#     except Exception as e:
#         print(str(e))
# def excel_table_byname(file= u'D:\\python27File\\crmAutoTest\\configFile\\logincase.xlsx',colnameindex=0,by_name=u'Sheet1'):#修改自己路徑
# data = open_excel(file) # table = data.sheet_by_name(by_name) #獲得表格 # nrows = table.nrows #拿到總共行數 # colnames = table.row_values(colnameindex) #某一行資料 ['姓名', '使用者名稱', '聯絡方式', '密碼'] # list = [] # for rownum in range(1, nrows): #也就是從Excel第三行開始,第一行表頭不算 # row = table.row_values(rownum)
# if row: # app = {} # for i in range(len(colnames)): # app[colnames[i]] = row[i] #表頭與資料對應 # list.append(app) # return list

2.對應是文字資料 讀出來是浮點或者科學計數 以及時間格式顯示不準確

import xlrd
import traceback
from datetime import datetime
from xlrd import 
xldate_as_tuple class excelHandle: def decode(self, filenam, sheetnam): try: filename = filenam.encode(encoding='utf8') sheetname = sheetnam.encode(encoding='utf8') except Exception: print( traceback.print_exc()) return filenam, sheetnam def read_excel(self, filename, sheetname): filenam, sheetnam = self.decode(filename,sheetname) rbook = xlrd.open_workbook(filenam) sheet = rbook.sheet_by_name(sheetnam) rows = sheet.nrows cols = sheet.ncols all_content = [] for i in range(rows): row_content = [] for j in range(cols): ctype = sheet.cell(i, j).ctype # 表格的資料型別 cell = sheet.cell_value(i, j) if ctype == 2 and cell % 1 == 0: # 如果是整形 cell = int(cell) elif ctype == 3: # 轉成datetime物件 date = datetime(*xldate_as_tuple(cell, 0)) cell = date.strftime('%Y/%d/%m %H:%M:%S') elif ctype == 4: cell = True if cell == 1 else False row_content.append(cell) all_content.append(row_content) print( '[' + ','.join("'" + str(element) + "'" for element in row_content) + ']') return all_content if __name__ == '__main__': eh = excelHandle() filenam = r'D:\\python27File\\crmAutoTest\\configFile\\logincase.xlsx' sheetnam = 'Sheet1' eh.read_excel(filenam,sheetnam)
這就是對資料處理後 不會生成浮點資料格式的資料