用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值