1. 程式人生 > >小白學 Python(24):Excel 基礎操作(下)

小白學 Python(24):Excel 基礎操作(下)

人生苦短,我選Python

前文傳送門

小白學 Python(1):開篇

小白學 Python(2):基礎資料型別(上)

小白學 Python(3):基礎資料型別(下)

小白學 Python(4):變數基礎操作

小白學 Python(5):基礎運算子(上)

小白學 Python(6):基礎運算子(下)

小白學 Python(7):基礎流程控制(上)

小白學 Python(8):基礎流程控制(下)

小白學 Python(9):基礎資料結構(列表)(上)

小白學 Python(10):基礎資料結構(列表)(下)

小白學 Python(11):基礎資料結構(元組)

小白學 Python(12):基礎資料結構(字典)(上)

小白學 Python(13):基礎資料結構(字典)(下)

小白學 Python(14):基礎資料結構(集合)(上)

小白學 Python(15):基礎資料結構(集合)(下)

小白學 Python(16):基礎資料型別(函式)(上)

小白學 Python(17):基礎資料型別(函式)(下)

小白學 Python(18):基礎檔案操作

小白學 Python(18):基礎檔案操作

小白學 Python(19):基礎異常處理

小白學 Python(20):迭代器基礎

小白學 Python(21):生成器基礎

小白學 Python(22):time 和 calendar 模組簡單使用

小白學 Python(23):Excel 基礎操作(上)

在這裡首先恭喜各位看到本篇連載的同學,本篇連載為 《小白學 Python 基礎系列》 最後一篇,恭喜各位在學習 Python 的道路上邁出了堅實的一大步。

寫入 Excel

首先當然是安裝第三方模組:

pip install openpyxl

首先我們需要先建立一個 WorkBook :

import xlsxwriter

workbook = xlsxwriter.Workbook('demo.xlsx')

在所有操作之前,需要記得先匯入我們剛才安裝的 xlsxwriter 的模組。

接下來,我們建立一個 Sheet :

sheet1 = workbook.add_worksheet('test_sheet')

建立完成後,需要關閉 workbook ,這一步會將我們剛才建立的 workbook 進行儲存。

workbook.close()

好了,我們已經建立好了一個 excel ,操作結束,下課。

老師,你回來,這就完了?

我們接著介紹如何將資料寫入至 Excel 中。

首先我們可以先設定一些的單元格的格式:

workfomat = workbook.add_format()
# 字型加粗
workfomat.set_bold(True)
# 單元格邊框寬度
workfomat.set_border(1)
# 對齊方式
workfomat.set_align('left')
# 格式化資料格式為小數點後兩位
workfomat.set_num_format('0.00')

然後我們將內容寫入,具體內容小編懶得想了,直接複製上一篇文章中的內容:

heads = ['', '語文', '數學', '英語']
datas = [
    ['小明', 76, 85, 95],
    ['小紅', 85, 58, 92],
    ['小王', 98, 96, 91]
]

sheet1.write_row('A1', heads, workfomat)

sheet1.write_row('A2', datas[0], workfomat)
sheet1.write_row('A3', datas[1], workfomat)
sheet1.write_row('A4', datas[2], workfomat)

然後執行程式,我們來看下最終輸出的結果:

除了可以這樣輸出以外,我們還可以指定輸出的單元格格式:

我們列舉一個比較複雜的輸出日期型別:

fomat1 = workbook.add_format({'num_format': 'yy/mm/dd/ hh:mm:ss'})

sheet1.write_datetime('E5', datetime.datetime(2019, 11, 9, 22, 44, 26), fomat1)

注意: 上面的格式化一定要加,否則在 Excel 中顯示出來的只會是一個時間戳。

其他的輸出型別小編這裡就不一一舉例了,下面列出一些常用的:

# 字串型別
sheet1.write_string()
# 數字型
sheet1.wirte_number()
# 空型別
sheet1.write_blank()
# 公式
sheet1.write_formula()
# 布林型
sheet1.write_boolean()
# 超連結
sheet1.write_url()

我們還可以在 Excel 中插入圖片,樣例如下:

sheet1.insert_image('I6', 'wx.jpg')

語法如下:

insert_image(row, col, image[, options])

row:行座標,起始索引值為0;
col:列座標,起始索引值為0;
image:string型別,是圖片路徑;
options:dict型別,是可選引數,用於指定圖片位置,如URL等資訊;

我們還可以在 Excel 中繪圖,支援包括面積、條形圖、柱狀圖、折線圖、散點圖等。

圖表物件是通過 Workbook add_chart() 方法建立的,其中指定了圖表型別:

chart = workbook.add_chart({'type': 'column'})

常見的圖表樣式如下:

area:面積樣式的圖表
bar:條形圖
column:柱狀圖
line:線條樣式的圖表
pie:餅形圖
scatter:散點圖
stock:股票樣式的圖表
radar:雷達樣式的圖表

然後使用 insert_chart() Worksheet方法將其作為嵌入的圖表插入到工作表中:

sheet1.insert_chart('A7', chart)

完整示例如下:

chart = workbook.add_chart({'type': 'column'})

chart.add_series({'values': '=test_sheet!$B$2:$B$4'})
chart.add_series({'values': '=test_sheet!$C$2:$C$4'})
chart.add_series({'values': '=test_sheet!$D$2:$D$4'})

sheet1.insert_chart('A7', chart)

結果如下:

一些常用的簡單的操作就介紹到這裡,想了解更多的同學可以訪問官方文件,連結小編已經找出來了:https://xlsxwriter.readthedocs.io/ 。

示例程式碼

本系列的所有程式碼小編都會放在程式碼管理倉庫 Github 和 Gitee 上,方便大家取用。

示例程式碼-Github

示例程式碼-Gi