19 python Excel文件处理实战

20 python Excel文件处理实战

Excel简介

Excel 文件以.xlsx为扩展名
每个工作簿可以包含多个表
用户当前查看的表(或者是关闭前最后查看的表格)活动表
每个表都有一些列(A开始)一些行(1开始)
特定行和列的方格成为cell

openpyxl库

虽然它支持修改已有的文件,但支持功能有限,读入文件时会自动忽略掉它所不支持的内容,再写入时,这些内容就丢失了
不支持07版本以前的XLS格式
不支持Excel中的公式

常用操作

  • 打开Excel
import openpyxl
wb= openpylx.load_workbook() #打开Excel文档
wb.get_sheet_names() #从工作簿中取得工作表。

再从表中取得行和列。可以将Worksheet对象切片,取得Excel表格中的每一行,每一列,或者一个矩形区域中的所有cell对象,然后循环遍历这个切片中的所有单元格

  • 创建工作簿
from openpyxl import Workbook

#工作簿实例化
wb=Workbook()
ws=wb.active #激活获取工作表,此方法调用_active_sheet_index方法,默认索引值为0,即第一个工作表

#用creat_sheet()方法创建工作表
ws1=wb.creat_sheet()#默认在最后添加工作表
ws2=wb.creat_sheet(0)#位置0即第一个位置

#通过工作表名称获取工作表,以下方法两种等价
ws3=wb['New Title']
ws4=wb.get_sheet_by_name('New Title')

wb.get_sheet_names() 获取工作簿所有工作表名称,返回值为list
  • 获取单元格
c=ws['A4'] #利用坐标获取单元格,若单元格不存在,则被创建
ws['A4']=4 #对单元格直接赋值

#以下两种方式也可以获取单元格
c=ws.cell('A4')
d=ws.cell(row=4,column=1) #指定行和列获取,这里从1开始
  • 利用切片方式获取指定单元格区域
cell_range=ws['A1':'C2']
  • 获取单元格后写数据
c=ws.cell('A4')
c.value='ehhsdf'
  • 对实例化的工作簿调用openpyxl.workbook.Workbook.save()进行保存
wb.save('dsf.xlsx')

猜你喜欢

转载自blog.csdn.net/bj_zhb/article/details/105198231