• 技术文章 >后端开发 >Python教程

    使用Python操作Excel之xlsx文件介绍

    高洛峰高洛峰2017-03-26 10:06:40原创1329

    前段时间做一个项目,不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取。所以想着记录下来,这篇文章主要给大家介绍了Python操作Excel之xlsx文件的相关资料,需要的朋友可以参考下。

    前言

    之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作。

    我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单,只是简单的读写,这里演示的也是简单的读写操作,具体的高级功能,可以参考文后的链接地址。

    一:写一个excel文件如下

     from openpyxl import Workbook
     from openpyxl.utils import get_column_letter
     
     # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
     wb = Workbook()
     
     #获取当前活跃的worksheet,默认就是第一个worksheet
     ws = wb.active
     
     #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
     ws.cell(row=1, column=1).value = 6
     ws.cell("B1").value = 7
     
     #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
     for row in range(2,11):
      for col in range (1,11):
       ws.cell(row=row, column=col).value = get_column_letter(col)
     
     #可以使用append插入一行数据
     ws.append(["我","你","她"])
     
     #保存
     wb.save(filename="/Users/budong/Desktop/a.xlsx")

    二:读刚刚写入的excel内容如下

     from openpyxl import load_workbook
     
     #打开一个workbook
     wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
     
     #获取当前活跃的worksheet,默认就是第一个worksheet
     #ws = wb.active
     
     #当然也可以使用下面的方法
     
     #获取所有表格(worksheet)的名字
     sheets = wb.get_sheet_names()
     #第一个表格的名称
     sheet_first = sheets[0]
     #获取特定的worksheet
     ws = wb.get_sheet_by_name(sheet_first)
     #获取表格所有行和列,两者都是可迭代的
     rows = ws.rows
     columns = ws.columns
     
     #迭代所有的行
     for row in rows:
      line = [col.value for col in row]
      print line
     
     #通过坐标读取值
     print ws.cell('A1').value # A表示列,1表示行
     print ws.cell(row=1, column=1).value

    以上就是使用Python操作Excel之xlsx文件介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:解析Python类的动态修改的实例代码 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 如何使用fdopen实现对Python进程产生的文件进行权限最小化配置• python中的argparse怎么使用• python内置堆如何实现• Python怎么使用树状图实现可视化聚类• Python之ThreadPoolExecutor线程池问题怎么解决
    1/1

    PHP中文网