1. 程式人生 > >python2處理xlsx混合型別資料

python2處理xlsx混合型別資料

概述

最近在處理一些資料,將之從xlsx中插入到資料庫中,其中有些資料是數字,有些是中英文混合,有些是空值,其中還有特殊的日期格式,即讀取出來是數字,但在Excel中顯示的是某年某月某日,這個只能手動來轉換成文字了。

實現

這個單獨用str()或者repr()轉成字串都會有問題,而且Unicode格式的資料中有中文時需要encode(‘utf8’)才能看到漢字。所以需要分類討論,分type()=type(u’中文’);=type(None);其他。 含有中文的要encode(‘utf8’),空值賦值為’’,其他用str()處理即可。

if type(dat) == type(u'中文'):
	dat =
dat.encode('utf8') elif type(dat) == type(None): dat = '' else: dat = str(dat)

順便記一下用openpyxl讀資料的基本操作

import openpyxl
data = openpyxl.load_workbook('sj.xlsx')#開啟
sheets = data.get_sheet_names()#獲取每個sheet的名字
sheet = data.get_sheet_by_name(sheet_name)#通過名字開啟
print sheet.title#大廳sheet標題
rows = sheet.
max_row #行數 cols = sheet.max_column #列數 sheet.cell(i+1,j).value#i行j列的值,注意下標從1開始