Python Excel操作---openpyxl應用 (2020-12-30 09:51)
阿新 • • 發佈:2020-12-30
openpyxl 應用於讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案。主要應用兩個模組 Workbook、load_workbook。
load_workbook模組
load_workbook模組用於讀取現有xlsx檔案,其返還為一個workbook 物件。應用方法為
from openpyxl import load_workbook
wb = load_workbook('檔名')
wb = load_workbook('檔名') 和 wb= Workbook() 作用類似,區別在於load_workbook 用於開啟已存在的excel檔案,而 Workbook則新建一個excel檔案。
Workbook模組
Workbook模組是openpyxl 的核心模組,對excel表格的操作均集中在此模組內。下面一段程式碼為開啟encoding_book.xlsx表格,並在表格中encoding test sheet中按行寫入資料。
def TxtoExcel(): file_name_list= [x for x in range(len(ip_id))] global __TEST_RSSI dest_filename = 'encoding_book.xlsx' """"用於將測試資料寫入excel表格""" #開啟excel檔案 wb = load_workbook(dest_filename) #獲取sheet名稱為"encoding test"sheet ws1 = wb.get_sheet_by_name("encoding test") #將ws1設定為當前活動表格 wb.active = ws1 #獲取有內容的最後行號 # row_max = ws1.max_row # ws1 = wb.active # ws1 = wb.create_sheet(title=__TEST_RSSI) # wb.active = ws1 # grab the active worksheet # ws1 = wb.active # ws1.title = __TEST_RSSI for (key,item) in ip_id.items(): file_name = "{}.txt".format(key) file_name_list[(int(item)-1)] = file_name result_1 = get_result_line(file_name_list[0]) result_2 = get_result_line(file_name_list[1]) result_3 = get_result_line(file_name_list[2]) result_4 = get_result_line(file_name_list[3]) for (key,item) in result_1.items(): ws1.append(['','']) ws1.append(fist_row) ws1.append(item) ws1.append(result_2[key]) ws1.append(result_3[key]) ws1.append(result_4[key]) wb.save(filename = dest_filename) wb.close()