python3.5 利用openpyxl模块来处理excel表

Python文件处理

 首先,excel表格属于一种文件,处理它肯定伴随着文件的处理,那么,我们先来看看文件的处理方式:

删除某个路径下的文件,需要用到os模块(直接import即可)

os.remove(r"filepath")

Python excel表的处理

使用openpyxl模块之前需要对其进行安装,有时候安装失败,需要进入site_packages目录进行安装:

pip install openpyxl

导入openpyxl模块

import openpyxl

对已经存在的excel表做处理

wd = openpyxl.load_workbook(r'm.xlsx')  # 打开excel文件
sheet1 = wd['Sheet1']  # 获取名为Sheet1的工作表
print(sheet1.title)  # 输出表名称
sheet2 = wd.active  # 获取wdexcel文件中活动的工作表
print(sheet2.title)  # 输出活动工作表的名称
sheet['A6'] = 3.14   # 获取表的单元格
print(sheet['A6'].value)  # 对单元格进行赋值并打印

    def write_save_xls(self, wbname):
        fields = ['书籍名称', '作者', '出版社', '出版日期']
        datas = [['python web开发', '董伟明', '人民教育出版社', '2018/02/09'], ['Python自动化', '廖雪峰', '机械工业出版社', '2018/02/09']]
        cwb = openpyxl.Workbook()  # 创建一个工作表对象
        cwb.save(filename=wbname)  # 保存工作表
        print("已经创建工作表:" + wbname)
        wb = openpyxl.load_workbook(wbname)  # 打开工作簿
        ws1 = wb.create_sheet('书籍汇总', 0)  # 创建一个工作表,名为:测试结果汇总
        ws1.sheet_properties.tabColor = '1072BA'  # 指定工作表的背景颜色
        for field in range(1, len(fields)+1):  # 写入表头内容
            _ = ws1.cell(row=1, column=field, value=fields[field-1])
        for row_data in range(2, len(datas)+2):  # 写入表数据,注意index变化
            for col_data in range(1, len(datas[row_data-2])+1):
                _ = ws1.cell(row=row_data, column=col_data, value=datas[row_data-2][col_data-1])
        wb.save(filename=wbname)  # 操作完成后需要保存表才能查看excel表
        print("保存成功")



python3.5 利用openpyxl模块来处理excel表_第1张图片

可能遇到的问题:

1.可以打印创建excel表成功,但是没有看到生成对应的表格,原因可能是操作完成后没有对工作簿进行保存。

需要在结尾追加:

wb.save(filename=wbname)

2.在对excel文件进行读写操作时,其后缀名必须加上.xlsx,否则会报找不到文件错误

3.程序运行时,excel中不能有同名的文件已经打开,否则会报:

typeerror:PermissionError: [Errno 13] Permission denied

小结:

对excel的操作可嵌套在数据库的数据处理,串口的数据读写等作用上,同时自动化测试的结果比对也是相当重要的一环。

openpyxl的官方文档地址:http://openpyxl.readthedocs.io/en/default/usage.html







你可能感兴趣的:(因不满而奋斗的星星,因奋斗而快乐的小菜鸟)