一、xlsxwriter 基本用法,創(chuàng)建 xlsx 文件并添加數(shù)據(jù)
官方文檔:http://xlsxwriter.readthedocs.org/
xlsxwriter 可以操作 xls 格式文件
注意:xlsxwriter 只能創(chuàng)建新文件,不可以修改原有文件。如果創(chuàng)建新文件時(shí)與原有文件同名,則會覆蓋原有文件
Linux 下安裝: sudo pip install XlsxWriter
Windows 下安裝: pip install XlsxWriter
# coding=utf-8from __future__ import divisionimport sysimport xlsxwriterimport xlrdimport datetimeoutput_file = u"D://python和shell腳本//10969的代碼//test.xlsx"wb = xlsxwriter.Workbook(output_file)ws = wb.add_worksheet(u"活動(dòng)標(biāo)簽")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 格式處理,將待添加數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的格式,添加到 xlsx 文件中
先設(shè)置格式,使用方法:workbook.add_format
再指定格式寫入,使用方法:worksheet.write_string
#!/usr/bin/python#coding: utf-8from datetime import datetimeimport xlsxwriterworkbook = xlsxwriter.Workbook('Expenses02.xlsx')worksheet = workbook.add_worksheet()#設(shè)定格式,等號左邊格式名稱自定義,字典中格式為指定選項(xiàng)#bold:加粗,num_format:數(shù)字格式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'})#將二行二列設(shè)置寬度為15(從0開始)worksheet.set_column(1, 1, 15)#用符號標(biāo)記位置,例如: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): #將數(shù)據(jù)格式轉(zhuǎn)化為Python datetime.datetime 格式 #之后用write_datetime方法錄入日期格式 date = datetime.strptime(date_str, "%Y-%m-%d") #使用write_string方法,指定數(shù)據(jù)格式寫入數(shù)據(jù) 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()#新建圖標(biāo)對象chart = workbook.add_chart({'type': 'column'})#向 excel 中寫入數(shù)據(jù),建立圖標(biāo)時(shí)要用到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])#向圖表中添加數(shù)據(jù),例如第一行為:將A1~A5的數(shù)據(jù)轉(zhuǎn)化為圖表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'})#將圖標(biāo)插入表單中worksheet.insert_chart('A7', chart)workbook.close()
新聞熱點(diǎn)
疑難解答
圖片精選