對python中的xlsxwriter庫簡單分析

來源:互聯網
上載者:User
這篇文章主要介紹了關於對python中的xlsxwriter庫簡單分析,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

一、xlsxwriter 基本用法,建立 xlsx 檔案並添加資料

xlsxwriter 可以操作 xls 格式檔案

注意:xlsxwriter 只能建立新檔案,不可以修改原有檔案。如果建立新檔案時與原有檔案同名,則會覆蓋原有檔案

Linux 下安裝: sudo pip install XlsxWriter

Windows 下安裝: pip install XlsxWriter

# coding=utf-8from __future__ import pisionimport sysimport xlsxwriterimport xlrdimport datetimeoutput_file = u"D:\\python和shell指令碼\\10969的代碼\\test.xlsx"wb = xlsxwriter.Workbook(output_file)ws = wb.add_worksheet(u"活動標籤")ws.set_column('A:A', 20)ws.set_column('B:B', 20)ws.set_column('C:C', 20)ws.set_column('D:D', 20)ws.write(2, 0, "123")wb.close()

二、xlsxwriter 格式處理,將待添加資料轉換成相應的格式,添加到 xlsx 檔案中

先設定格式,使用方法:workbook.add_format

再指定格式寫入,使用方法:worksheet.write_string

#!/usr/bin/python#coding: utf-8from datetime import datetimeimport xlsxwriterworkbook = xlsxwriter.Workbook('Expenses02.xlsx')worksheet = workbook.add_worksheet()#設定格式,等號左邊格式名稱自訂,字典中格式為指定選項#bold:加粗,num_format:數字格式bold_format = workbook.add_format({'bold':True})money_format = workbook.add_format({'num_format':'$#,##0'})date_format =workbook.add_format({'num_format':'mmmm d yyyy'})#將二行二列設定寬度為15(從0開始)worksheet.set_column(1, 1, 15)#用符號標記位置,例如:A列1行worksheet.write('A1', 'Item', bold_format)worksheet.write('B1', 'Cost', bold_format)worksheet.write('C1', 'Cost', bold_format)expenses = ( ['Rent', '2016-03-11', 1000], ['Gad', '2016-03-12', 100], ['Food', '2016-03-13', 400], ['Gym', '2016-03-14', 50],)row = 1col = 0for item, date_str, cost in (expenses): #將資料格式轉化為Python datetime.datetime 格式 #之後用write_datetime方法錄入日期格式 date = datetime.strptime(date_str, "%Y-%m-%d") #使用write_string方法,指定資料格式寫入資料 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 += 1worksheet.write(row, 0, 'Total',  bold_format)worksheet.write(row, 1, '=SUM(B2:B5)', money_format)workbook.close()

三、xlsxwriter 添加表格,在 xlsx 檔案中添加表格

#!/usr/bin/python#coding: utf-8import xlsxwriterworkbook = xlsxwriter.Workbook('chart.xlsx')worksheet = workbook.add_worksheet()#建立表徵圖對象chart = workbook.add_chart({'type': 'column'})#向 excel 中寫入資料,建立表徵圖時要用到data = [ [1, 2, 3, 4, 5], [2, 4, 6, 8, 10], [3, 6, 9, 12, 15],]worksheet.write_column('A1', data[0])worksheet.write_column('B1', data[1])worksheet.write_column('C1', data[2])#向圖表中添加資料,例如第一行為:將A1~A5的資料轉化為圖表chart.add_series({'values': '=Sheet1!$A$1:$A$5'})chart.add_series({'values': '=Sheet1!$B$1:$B$5'})chart.add_series({'values': '=Sheet1!$C$1:$C$5'})#將表徵圖插入表單中worksheet.insert_chart('A7', chart)workbook.close()

四、更多可用的儲存格式對象(Format Class)

ecxel 中每一個單元,都有如下屬性:字型(fonts)、顏色(colors)、模式(patterns)、邊界(borders)、alignment、number formatting

設定屬性:

format = workbook.add_format()#用對象介面設定格式屬性format.set_bold()format.set_font_color('red')#用字典設定格式屬性property = { 'bold': True, 'font_color': 'red'}format = workbook.add_format(property)


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.