熱線電話:13121318867

登錄
首頁精彩閱讀方便!Python 操作 Excel 神器 xlsxwriter 初識
方便!Python 操作 Excel 神器 xlsxwriter 初識
2021-12-30
收藏

作者:潮汐

來源:Python 技術

隨著技術棧的越來越成熟,為了解決重復的勞動力型工作,越來越多的人開始學習自動化辦公,使用技術幫助自己高效工作,提升工作效率,今天的文章講解如何使用Python技術中的神奇工具來協助咱們自動化辦公,這個神器就是 xlsxwriter。

那什么是 xlsxwriter 呢?

Xlsxwriter 是一個用于編寫 Excel 文件格式文件的 Python 模塊,xlsxwriter 可以用來寫文本,數字,公式和超鏈接到多個工作表,它支持的功能也有很多,譬如格式化、單元格合并、圖標功能等,具體功能如下:

方便!Python 操作 Excel 神器 xlsxwriter 初識

02

另外它還支持Python 3.4+和PyPy3,并且只使用標準庫。但值得注意的是它不支持讀或者改現有的excel文件。

xlsxwriter 同樣也使用 pip 安裝,安裝語句如下:pip install xlsxwriter

簡單使用

以下是關于 xlsxwriter

import xlsxwriter

workbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件 worksheet = workbook.add_worksheet() # 建立sheet, 可以使用work.add_worksheet('employee')來指定sheet名,如果命名中文名會報UnicodeDecodeErro的錯誤 worksheet.write('A1', 'Hello world') # 向A1寫入文字 workbook.close()
方便!Python 操作 Excel 神器 xlsxwriter 初識

03

實例

下面簡單看一個實例,新增一個表格,再在表格中添加文字、數據以及圖片,最后將工作表保存在當前工作空間中,詳細實例如下:

import xlsxwriter def simple_example(): # 創建一個新的Excel文件并添加一個工作表 workbook = xlsxwriter.Workbook('demo.xlsx')
    worksheet = workbook.add_worksheet() # 確定第一欄,使文字更清楚 worksheet.set_column('A:A', 20) # 添加粗體格式以突出顯示單元格 bold = workbook.add_format({'bold': True}) # 簡單的寫一些文字 worksheet.write('A1', 'Hello') # 另起一行寫入文字并加粗 worksheet.write('A2', 'World', bold) # 用行/列表示法寫一些數字 worksheet.write(2, 0, 123)
    worksheet.write(3, 0, 13.432) # 插入一張圖片. worksheet.insert_image('B5', 'logo.jpeg')

    workbook.close() if __name__ == '__main__':
    simple_example()

實例結果圖:

方便!Python 操作 Excel 神器 xlsxwriter 初識

04

表格數據求和

下面的實例講解新建表格添加相應數據求和。

def sum_data(): workbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件 worksheet = workbook.add_worksheet()
    add_data = (
        ['A1', 1087],
        ['A2', 1056],
        ['A3', 300],
        ['A4', 590],
    ) # 按標號寫入是從0開始的,按絕對位置'A1'寫入是從1開始的 row = 0 col = 0 # 遍歷數據并逐行寫出它 for item, cost in (add_data):
        worksheet.write(row, col, item)
        worksheet.write(row, col + 1, cost)
        row += 1 # 用公式寫出總數 worksheet.write(row, 0, 'Total')
    worksheet.write(row, 1, '=SUM(B1:B4)') # 調用excel的公式表達式 workbook.close()

求和結果如下:

方便!Python 操作 Excel 神器 xlsxwriter 初識

05

自定義格式

以下實例講解輸出數字格式,使用workbook.add_format()函數進行自定義新增和運算后的輸出結果,詳細步驟如下:

def self_define_format(): # 建文件及sheet. workbook = xlsxwriter.Workbook('demo2.xlsx')
    worksheet = workbook.add_worksheet() # Add a bold format to use to highlight cells. 設置粗體,默認是False bold = workbook.add_format({'bold': True}) # 定義數字格式 money = workbook.add_format({'num_format': '$#,##0'}) # Write some data headers. 帶自定義粗體blod格式寫表頭 worksheet.write('A1', 'Item', bold)
    worksheet.write('B1', 'Cost', bold) # Some data we want to write to the worksheet. add_data = (
        ['A1', 1087],
        ['A2', 1056],
        ['A3', 300],
        ['A4', 590],
    ) # Start from the first cell below the headers. row = 1 col = 0 # Iterate over the data and write it out row by row. for item, cost in (add_data):
        worksheet.write(row, col, item) # 帶默認格式寫入 worksheet.write(row, col + 1, cost, money) # 帶自定義money格式寫入 row += 1 # Write a total using a formula. worksheet.write(row, 0, 'Total', bold)
    worksheet.write(row, 1, '=SUM(B2:B5)', money)

    workbook.close()

輸出結果如下:

方便!Python 操作 Excel 神器 xlsxwriter 初識

06

寫入日期格式

在單元格輸出結果中加入日期格式:

def write_date(): from datetime import datetime
    workbook = xlsxwriter.Workbook('demo3.xlsx')
    worksheet = workbook.add_worksheet() # 添加粗體格式以突出顯示單元格. bold = workbook.add_format({'bold': 1}) # 為帶錢的單元格添加數字格式. money_format = workbook.add_format({'num_format': '$#,##0'}) # 添加Excel日期格式. date_format = workbook.add_format({'num_format': 'mmmm d yyyy'}) # 調整列的寬度 worksheet.set_column(1, 1, 15) # 寫入數據表頭 worksheet.write('A1', 'Item', bold)
    worksheet.write('B1', 'Date', bold)
    worksheet.write('C1', 'Cost', bold) # 將數據寫入工作表 add_data = (
        ['A1', '2013-01-13', 1875],
        ['A2', '2013-01-14', 345],
        ['A3', '2013-01-16', 564],
        ['A4', '2013-01-20', 10987],
    ) # 從標題下面的第一個單元格開始. row = 1 col = 0 for item, date_str, cost in (add_data): # 將日期字符串轉換為datetime對象 date = datetime.strptime(date_str, "%Y-%m-%d")

        worksheet.write_string(row, col, item)
        worksheet.write_datetime(row, col + 1, date, date_format)
        worksheet.write_number(row, col + 2, cost, money_format)
        row += 1 # 用公式寫出總數 worksheet.write(row, 0, 'Total', bold)
    worksheet.write(row, 2, '=SUM(C2:C5)', money_format)

    workbook.close()

輸出結果如下:

方便!Python 操作 Excel 神器 xlsxwriter 初識

07

總結

今天的文章講解了神器 xlsxwriter 操作 Excel 的基本操作,當然還有更多關于 xlsxwriter 有趣的知識點還未分享,欲知后事如何,下回咱們接著分享,感興趣的朋友們可以試試,希望對大家有所幫助。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢