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