python输出字体的大小_Toby的Python笔记 | 预备知识:安装openpyxl学做电子表格
Toby的Python筆記 | 預備知識:安裝openpyxl學做電子表格
Python 需要創建和讀取excel表里面的數據,需要用 openpyxl 這個包,今天安裝好備用。
首先,進入C命令窗口:
>> cd C:\Users\dell\AppData\Local\Programs\Python\Python37\Scripts
然后,在當前目錄下使用pip命令安裝:
(直接安裝會連接超時、建議選擇國內鏡像安裝相應的包)
>> cd?C:\Users\dell\AppData\Local\Programs\Python\Python37\Scripts>pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ openpyxl
這時,窗體內閃動以下內容:
2、導入安裝成功的openpyxl庫。
from openpyxl import Workbook3、創建一個工作簿。
wb = Workbook()4、創建工作簿的同時,也有了第一個工作表。
使用下面這行代碼來獲取工作表。
ws?=?wb.active5、給工作表取個名字吧。
【這里是工作表的名字,不是Excel文件的名字。】
ws.title = "我的第一份電子表格"6、將我們創建好的一切保存到文件中,這樣通過Python代碼創建的第一個Excel文件就誕生了。
wb.save("我的第一份電子表格.xlsx")7、Run一下試試看,文件會創建在和Python文件同一級的文件夾中。
看一個空白的Excel表格就創建好了。
進入到你的python目錄下看看在不在?
仔細看看:
“我的第一份電子表格” 真的就躺在那兒了!
打開看看正不正常:
9、最后,我也模仿巧樂希老師的介紹,再加上一個打印語句表揚一下努力的自己,創建成功的打印輸出。
from?openpyxl?import?Workbookwb?=?Workbook()ws = wb.activews.title = "我的第一份電子表格"wb.save("我的第一份電子表格.xlsx")print("恭喜你,表格創建成功了!!!")接下來繼續模仿別人的教程、也來在表格中寫入一張乘法表吧!
(以下來源于巧樂希的公眾號,學習備忘)
其實,下面的語句還有些看不懂,爸爸叫我先記下來,以后慢慢消化!
向表格里寫入運算式
首先,要分析一下九九乘法表的結構,雖然小朋友大都可以倒背如流,但它是怎么樣的一個順序還是需要研究一番的。
看看上面的圖片,是不是有這樣的特點呢?
第一行:1×1=1? ??
第二行:2×1=2 ? ?2×2=4 ???
第三行:3×1=3 ? ?3×2=6 ? ?3×3=9 ? ?
...
...
第八行:8×1=8 ? ?8×2=16 ? ?8×3=24 ? ?8×4=32 ? ?8×5=40 ? ?8×6=48 ? ?8×7=56 ? ?8×8=64
第九行:9×1=9 ? ?9×2=18 ? ?9×3=27 ? ?9×4=36 ? ?9×5=45 ? ?9×6=54 ? ?9×7=63 ? ?9×8=72 ? 9×9=81 ???
通過分析可以看出,
第一行只有1列,
第二行有2列,
......,
第八行有8列,
第九行有9列。
將算式分為
【第一個數字】×【第二個數字】=【計算結果】;
【第一個數字】= 行號
【第二個數字】= 列數
【計算結果】= 行號 × 列數
分析完成,開始敲代碼。
1、首先,按照行的順序來完成數據的寫入用以下的語句。
#使用for循環,重復9次,完成9行。for row in range(1,10):row表示行,range(1,10)的解說如下:
#python range()?函數可創建一個整數列表,一般用在 for 循環中。#函數語法range(start,?stop[,?step])#參數說明:
start: 計數從 start 開始。默認是從 0 開始。例如range(5)等價于range(0, 5);
stop: 計數到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)
2、每一行有多少列呢?進行列的操作。在第幾行,就有多少列。
第一行的時候只有1列,所以當row=1的時候,column也只能有一個,此時是range(1,2),那么就只有一個1。
第二行的時候只有2列,所以當row=2的時候,column有兩個,此時是range(1,3),那么有1,2。
.......
for?column?in?range(1,row+1):3、在Excel中確定了行和列就可以找到對應的單元格了。通過ws.cell(),將對應的行和列傳入函數就可以確定單元格。
cell = ws.cell(row = row, column = column)4、要寫入什么數據呢,需要先將對應的輸入格式調整好。
第一個數字×第二個數字數字=計算結果
第一個數字=行號
第二個數字=列數
計算結果=行號×列數
輸入格式是這樣的:
行號 × 列數?= 行號 × 列數
通過字符串將它們鏈接起來,這里記得將數字轉成字符串str()。
cell_value = str(row) + "×" + str(column) + "=" + str(row*column)5、數據都整理完成了,開始寫入到單元格中,將對應的數據寫入對應的單元格中。
cell.value = cell_value6、IDLE中需要輸入的全部代碼(逐句輸入)展示,需要注意縮進!!!
單元格的操作是在兩層循環內的,這樣才能保證單元格的一一對應的。
from openpyxl import Workbookwb = Workbook()ws = wb.activews.title = "我的乘法表"for row in range(1,10): for column in range(1,row+1):????????cell =?ws.cell(row?=?row,?column?=?column) cell_value = str(row) + "×" + str(column) + "=" + str(row*column) cell.value = cell_valuewb.save("我的乘法表.xlsx")print("恭喜你,表格創建成功了!!!")7、Run一下看看效果,這樣一個表格就創建好了。
給九九乘法表“填充背景色”
1、只有黑和白的表格看上去干巴巴的,一起來給它涂涂顏色。先給工作表涂上點顏色。
用代碼來上色
ws.title?=?"99乘法表"#接上#給工作表添加背景顏色ws.sheet_properties.tabColor = "f05654"在ws.title = "99乘法表",后一行添加上增加背景色的代碼。
2、設置表格中文字的樣式。
需要注意的是在代碼的頭部導入Font庫。
from openpyxl.styles import Font然后進行字體樣式的設置
cell.value = cell_value#接上#創建字體樣式font_set = Font(name='Arial', size=14, italic=True, color="000000", bold=True)#將字體樣式,設置到單元格上,.fontcell.font = font_set接下來一起看看,每個參數的含義,如果不理解可以翻譯一下。
Font
name:字體名稱
size:字體大小
italic:斜體(True,False)
color:顏色
bold:加粗(True,False)
strike:為刪除線(True,False)
underline:下劃線
(singleAccounting,doubleAccounting,double,single)
vertAlign:對齊(subscript,superscript,baseline)
3、設置邊框效果,給表格圍上一圈邊框。
首先需要導入Border和Side庫。
from openpyxl.styles import Borderfrom openpyxl.styles import Side然后設置上下左右邊框樣式。
border = Border(top=Side(border_style="thin", color="FF000000"), bottom=Side(border_style="thin", color="FF000000"), left=Side(border_style="thin", color="FF000000"), right=Side(border_style="thin", color="FF000000")) cell.border = bordertop=設置上邊框
bottom=設置下邊框
left=設置左邊框
right=設置右邊框
border_style:邊框樣式
'mediumDashDot','mediumDashed','dotted','medium','thick','thin','double','dashed','slantDashDot','dashDot','dashDotDot', 'hair','mediumDashDotDot'
4、給單元格填充顏色。
在開始填充顏色之前,先創建一個列表存放9種顏色,為每一行填充一種顏色。這樣每次取一種顏色,就可以將表格裝飾的很漂亮了。
這個顏色列表寫在循環外。
row_color = ["f05654","ff2121","dc3023","ff3300","cb3a56","a98175","b36d61","ef7a82","ff0097"]填充前,先導入。
from openpyxl.styles import PatternFill開始填充
fill = PatternFill("solid", fgColor=row_color[row-1])cell.fill = fill5、Run運行一下,一個漂亮的九九乘法表就完成了。
6、全部代碼(一定要注意縮進規范喲,要不然錯誤很多的 :( )。
from openpyxl import Workbookfrom openpyxl.styles import Fontfrom openpyxl.styles import Borderfrom openpyxl.styles import Sidefrom openpyxl.styles import PatternFillwb = Workbook()ws = wb.activews.title = "99乘法表"ws.sheet_properties.tabColor = "f05654"row_color = ["f05654","ff2121","dc3023","ff3300","cb3a56","a98175","b36d61","ef7a82","ff0097"]for row in range(1,10): for column in range(1,row+1): cell = ws.cell(row = row,column = column) cell_value = str(row)+ "×" + str(column)+ "=" + str(row*column) cell.value = cell_value font_set = Font(name='Arial',size=14, italic=True,color="000000",bold=True) cell.font = font_set border = Border(top=Side(border_style="thin",color="FF000000"), bottom=Side(border_style="thin",color="FF000000"), left=Side(border_style="thin",color="FF000000"), right=Side(border_style="thin",color="FF000000")) cell.border = border fill = PatternFill("solid",fgColor=row_color[row-1]) cell.fill = fill wb.save("我的九九乘法表.xlsx")print("恭喜你,乘法表表格創建成功了!")備忘:運行中遇到下面的問題,一直報錯:
解釋器提示如:
SyntaxError: invalid character in identifier
有人說:
如果一直找不到問題點的話,請確保代碼行內沒有夾雜中文的空格,tab等,非文字字符。
還有人說:跟中文英文空格一點關系都沒有!
原因一:冒號后面有制表符。原因二:或者某個第i行開頭是制表符,不能識別制表符。
原因三:python的縮進是4個空格;要嚴格、規范縮進。
說實話,查錯好煩,從別人網站拷貝的代碼,想模仿一下,結果反而查錯花了快一個小時,不如自己輸入呢。
也算是教訓吧!
總結
以上是生活随笔為你收集整理的python输出字体的大小_Toby的Python笔记 | 预备知识:安装openpyxl学做电子表格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lda 可以处理中文_用python处理
- 下一篇: c++分治法求最大最小值实现_快速实现分