用python openpyxl模塊自動化修改csv文件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章