一、
xlsxwriter速度快,但不能讀
而openpyxl可以讀和寫
二、Example
import xlsxwriter
#創(chuàng)建一個(gè)新表
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
#擴(kuò)大第一列的寬度
worksheet.set_column('A:A', 20)
#添加一個(gè)bold格式強(qiáng)調(diào)單元格
bold = workbook.add_format({'bold': True})
#寫一些簡(jiǎn)單的文本
worksheet.write('A1', 'Hello')
#帶有格式的寫入
worksheet.write('A2', 'World', bold)
#寫一些數(shù)字通過行列
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
#插入一張圖片
#worksheet.insert_image('B5', 'logo.png')
#關(guān)閉
workbook.close()
三坷澡、深入一小步
(一)
import xlsxwriter
#創(chuàng)建一個(gè)新表
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
#一些我們想寫進(jìn)表里的數(shù)據(jù)
expenses = (
['Rent', 1000],
['Gas', 100],
['Food
', 300],
['Gym', 50],
)
#從第一單元開始,行和列是零索引
row = 0
col = 0
#迭代這些數(shù)據(jù)并一行行寫入
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
#用算式寫入合計(jì)
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
workbook.close()
(二)
import xlsxwriter
#創(chuàng)建一個(gè)新表
workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()
#添加一個(gè)粗體格式使用強(qiáng)調(diào)單元格
bold = workbook.add_format({'bold': True})
#添加一個(gè)使用于money數(shù)據(jù)格式的數(shù)字格式
money = workbook.add_format({'num_format': '$#,##0'})
#寫一些數(shù)據(jù)作為標(biāo)題
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)
#一些我們想寫進(jìn)表里的數(shù)據(jù)
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
#從第一行的標(biāo)題下開始,行和列是零索引
row = 1
col = 0
#迭代這些數(shù)據(jù)并一行行寫入
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost, money)
row += 1
#用算式寫入合計(jì)
worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)
workbook.close()
(三)
import xlsxwriter
from datetime import datetime
#創(chuàng)建一個(gè)新表
workbook = xlsxwriter.Workbook('Expenses03.xlsx')
worksheet = workbook.add_worksheet()
#添加一個(gè)粗體格式使用強(qiáng)調(diào)單元格
bold = workbook.add_format({'bold': True})
#添加一個(gè)使用于money數(shù)據(jù)格式的數(shù)字格式
money_format = workbook.add_format({'num_format': '$#,##0'})
#使用一個(gè)excel日期格式
date_format = workbook.add_format({'num_format': 'mmmm d yyyy'})
#調(diào)整列寬度
worksheet.set_column(1, 1, 20)
#寫一些數(shù)據(jù)作為標(biāo)題
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)
#一些我們想寫進(jìn)表里的數(shù)據(jù)
expenses = (
['Rent', '2013-01-13', 1000],
['Gas', '2013-01-14', 100],
['Food', '2013-01-16', 300],
['Gym', '2013-01-20', 50],
)
#從第一行的標(biāo)題下開始频敛,行和列是零索引
row = 1
col = 0
#迭代這些數(shù)據(jù)并一行行寫入
for item, date_str, cost in (expenses):
#把日期的字符串轉(zhuǎn)化為datetime對(duì)象
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
#用算式寫入合計(jì)
worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 2, '=SUM(C2:C5)', money_format)
workbook.close()