excel表格有時數據量過大且數據對象有規律分佈的時候,手動進行格式化填充顯得尤爲麻煩。利用python openpyxl模塊(文檔鏈接openpyxl.readthedocs)可以高效對csv文件進行自動化填充。
模塊安裝:
pip install openpyxl
• 讀取文件:
○ load_workbook -- 加載工作簿(excel文件,絕對路徑)
§ get_sheet_names -- 返回工作表名字
§ get_sheet_by_name -- 棄用,目前取代爲直接使用workbook跟sheet作爲字典關係進行調用
§ get_active_sheet -- 獲取活動工作表
□ sheet屬性
® index
® title -- 字符串類型
® max_row/max_column -- 表示excel活動區間最大的行列(第n行列)
□ 獲取到的sheet直接表現爲單元格的字典,鍵爲座標字符串
□ sheet字典中用['A1':'C5']則表示一個tuple,tuple元素表示這個舉行範圍中的所有cell對象(單元格對象)
注:對於範圍內cell的獲取,只需要兩個for一次in即可,總的遍歷順序爲 “row-column”
□ 也可以使用cell(row= ,column=)的方式定位單元格 -- 此時單元格直接由第幾行第幾列進行定位
® value -- 單元格內容,一般情況下爲字符串(存在特殊value,比如日期)
◊ value作爲單元格的屬性,當由sheet鍵值指定對應單元格的時候,如果是單個單元格賦值,
可以不使用value屬性,直接賦值,當組單元格時,一定要使用value屬性進行填充
® alignment屬性 -- 用styles.Alignment方法進行指定
® fill屬性
® 列數字字母轉換
◊ get_column_letter()
◊ column_index_from_string()
□ sheet方法
® merge_cells(<cell_range>)
◊ 先修改single單元格,否則先對單元個進行聚合修改會影響row/column定位
• 創建/修改:
○ 注:創建修改之後調用save()進行保存,由save決定文件名 -- 默認要確定文件名
○ Workbook -- 新建xlsx工作簿文件
§ create_sheet/remove_sheet
• 格式化 -- openpyxl.styles
○ Border
○ Side
○ PatternFill
§ 用於填充底色,一般試樣單元格獲取填充參數
○ Font
○ GradienFill
○ Alignment
§ horiztal='center',vertical='center'
§ 對sheet範圍的[0]即第一個cell(範圍左上角單元格)進行即可修改匯聚單元的位置格式
□ 要先匯聚,再修改
□ 將用Alignment方法返回值賦給cell的alignment即可
詳細代碼使用案例參考:https://blog.csdn.net/qq_31331027/article/details/80531822