python,xlrd讀取excel
import xlrd # 導入xlrd模塊
1、打開excel文件,獲取文件內容
excel = '/Users/usr/Downloads/TEMP/DVT.xlsx'
data = xlrd.open_workbook(excel)
data.nsheets # 獲取該excel文件中包含的sheet的數量
data.sheets() # 返回該excel文件中所有sheet對象組成的列表
data.sheet_names() # 返回該excel文件中所有sheet名稱組成的列表
data.sheet_names()[index] # 獲取excel文件中指定索引的sheet的名稱
data.sheet_loaded(sheet_name or index) # 檢查某個sheet是否導入完畢
2、獲取某個sheet數據
table = data.sheets()[index] # 根據sheet索引獲取sheet內容
table = data.sheet_by_index(index) # 根據sheet索引獲取sheet內容
table = data.sheet_by_name(sheet_name) # 根據sheet名稱獲取sheet內容
table.name # 獲取sheet名稱
3、操作行、列、單元格
# 行的操作
table.nrows # 獲取該sheet中的有效行數
table.row(rowx) # 返回由該行中所有單元格對象組成的列表
table.row_slice(rowx) # 返回由該列中所有的單元格對象組成的列表
table.row_types(rowx,start_colx=0,end_colx=None) # 返回由該行中所有單元格的數據類型組成的列表
table.row_values(rowx,start_colx=0, end_colx=None) # 返回由該行中所有單元格數據組成的列表
table.row_len(rowx) # 返回該列的有效單元格長度
# 列的操作
table.ncols # 獲取該sheet中的有效列數
table.col(colx,start_rowx=0,end_rowx=None)
table.col_slice(colx,start_rowx=0,end_rowx=None)
table.col_types(colx,start_rowx=0,end_rows=None)
table.col_values(colx,start_rowx=0,end_rows=None)
# 單元格的操作
table.cell(rowx,colx) # 返回單元格對象
table.cell_value(rowx,colx) # 返回單元格中的數據
table.cell(rowx,colx).value
table.row(rowx)[index].value
table.col(colx)[index].value
table.cell_type(rowx,colx) # 返回單元格中的數據類型
sheet2.cell(rowx,colx).ctype
table.row(rowx)[index].ctype
table.col(colx)[index].ctype
4、獲取單元格內容爲特定類型方式
# ctype: 0 empty,1 string,2 number,3 date,4 boolean,5 error,6 blank
# 獲取單元格內容爲date格式
from datetime import datetime,date
if sheet1.cell(3,6).ctype == 3:
cell_value = sheet1.cell(3,6).value)
date_value = xlrd.xldate_as_tuple(cell_value, data.datemode)
date_value_str = date(*data_value[:3])
date_value_str = date(*data_value[:3]).strftime('%Y/%m/%d')
# 獲取單元格內容爲number(int)格式
if sheet1.cell(3,5).ctype == 2:
cell_value = sheet1.cell(3,5).value
num_value = int(cell_value)
5、獲取合併單元格的內容
data = xlrd.open_workbook(filename, formattinng_info=True)
sheet1 = data.sheet_by_name('OTA_02')
sheet1.merged_cells
# 返回: (row,row_range,col,col_range)
# 總結規律: 獲取merge_cells返回的row和col的低位索引即可
merge_value = []
for (row,row_range,col,col_range) in sheet1.merged_cells:
merge_value.append((row,col))
print(merge_value)
for v in merge_value:
cell_value = sheet1.cell(v[0],v[1]).value
print(cell_value)
6、打開包含中文字符的文件名和sheet名時報錯的解決辦法
# 1.使用open()函數,xlrd.open_workbook()函數打開文件,文件名若包含中文,會報錯找不到這個文件或目錄
# 2.獲取sheet時,若包含中文,也會報錯
file = open(filename,'rb') # 打開文件
workbook = xlrd.open_workbook(filename) # 打開excel文件
sheet = workbook.sheet_by_name(sheetname) # 獲取sheet
# 解決方案:
# a.對參數進行轉碼即可,如:
filename = filename.decode('utf-8')
# b.也試過unicode函數,不過,在ride中運行時出現了報錯,不推薦
filename = unicode(filename,'utf-8')
-
qq怎麼恢復被退出的羣
21世紀是互聯網信息時代,互聯網聊天軟件發揮重要信息溝通作用,一些我們不需要的聊天羣會選擇退出,也會由於不小心或者別的原因退出了qq羣,那麼退出的聊天羣該怎麼恢復呢?退出的qq羣只有羣主能進行恢復操作,管理員不能恢復,而且只能恢復被羣主或管理員刪除的羣成員。而...
-
黑色背景拍照竅門詳解
1、調整拍攝角度,尋找背景:既然是拍攝黑背景,在拍攝前我們儘量選擇深色的背景,這樣也就更加容易達到效果。不過深色不一定要是純黑色,只要顏色較爲深沉,偏向暗色調的均可。拍攝前多多觀察,尋找不同的拍攝角度,以找到有反差的深色作爲背景。要多嘗試不同的角度,直至主體...
-
蘋果5打電話怎麼錄音
1、首先在AppleStore商城直接搜索Wetalkpro下載安裝到手機裏。2、然後打開Wetalkpro,撥打對方的手機號碼。3、通話時只要點擊一下里面的紅色錄音按鈕就可以進行錄音,把對話記錄下來。4、通話錄音的記錄在歷史與錄音裏面可以查看到了。5、特別提示:因爲這款軟件使...
-
樓上樓下安裝兩個路由器方法,如何樓上樓下安裝兩個路由器
1、兩個無線路由器,主路由器A,副路由器B,主路由器A中不需要任何更改。把副路由器B放在家合適的位置中,接通電源。打開手機連接上副路由器B的WIFI(也可用電腦設置),打開任一瀏覽器,在地址欄中輸入路由器的IP(不同路由器的IP不一樣,具體查看說明書或路由器背面標籤)。2、輸...