python中的openpyxl模块可以操作excel文件。

使用pip安装pip install openpyxl

支持流行的lxml库(如果已安装)。这在创建大文件时特别有用。

为了能够将图像(jpeg,png,bmp等)包含到文件中,需要安装'pillow'库:pip install pillow

1、创建一个excel对象

import openpyxl

wb=openpyxl.Workbook() #创建一个新的空白excel对象

wb=openpyxl.load_workbook('file_name.xlsx') # 打开一个已存在的文件

获取打开的excel对象中所有的工作表(新的空白excel对象默认有一个名称为"Sheet"的工作表):

1>wb.sheetnames:获取所有工作表的名称的列表

2>for sheet in wb:

print(sheet.title)

2、创建新的工作表

wb.create_sheet(title=None, index=None)

title为新创建的工作表名称

index为新的工作表插入的位置,默认插到末尾

3、打开工作表

ws=wb.active #打开第一个工作表对象

ws=wb[titme] #工作表的title可以作为key进行索引

ws=wb.get_sheet_by_name(title) #通过工作表的title打开

获取最大行,最大列

sheet.max_row

sheet.max_column

设置行高和列宽:

ws.row_dimensions[rowx].height = height_num

ws.column_dimensions['C'].width = width_num

合并和拆分单元格:

merge_cells(range_string=None, start_row=None, start_column=None, end_row=None, end_column=None)

方法1:ws.merge_cells('A1:C3') #合并一个矩形区域中的单元格

方法2:ws.merge_cells(start_row=None, start_column=None, end_row=None, end_column=None)

由于省略了第一个参数,后面的参数要使用关键字

merge_cells(range_string=None, start_row=None, start_column=None, end_row=None, end_column=None)

使用方法同上

改变工作表按钮颜色

ws.sheet_properties.tabColor = "1072BA"

删除工作表

wb.remove(sheet)

del wb[sheet_name]

4、读取或修改单元格

4.1:单一单元格

cl1= ws['B6'] #直接通过索引获取单元格对象

cl2 = ws.cell(rowx, colx, value=None) #通过行和列获取单元格对象,如果提供了value值,则同时更改该单元格值

获取到单元格对象之后通过属性column、row、is_date、font、value、aligment、border等属性获取和修改相关值

设置字体样式:

ws['B6'].font=openpyxl.styles.Font(name='字体名称',size=数字字号, italic=是否斜体, color='16进制颜色', bold=是否加粗)

设置文字对齐方式:

ws['B6'].alignment=openpyxl.styles.Alignment(horizontal="水平对齐",vertical="垂直对齐",text_rotation=旋转角度,wrap_text=是否自动换行)

horizontal可能的值:左对齐left、居中center、右对齐right、分散对齐distributed、跨列居中centerContinuous、两端对齐justify、填充fill、常规general

vertical可能的值:居中center、还可以靠上top、靠下bottom、两端对齐justify、分散对齐distributed

wrap_text参数还可以写成wrapText

设置单元格边框样式:

side1=openpyxl.styles.Side(style="dotted",color="16进制颜色")

side2=openpyxl.styles.Side(style="thin",color="16进制颜色")

style可能的值'double', 'dashed', 'medium', 'dashDot', 'dashDotDot', 'mediumDashed', 'thin', 'thick', 'slantDashDot', 'hair', 'mediumDashDotDot', 'mediumDashDot', 'dotted'

ws['B6'].border = openpyxl.styles.Border(left=side1,right=side1,top=side2,bottom=side2)

4.2:多单元格

cell_list1 = ws['A1':'C2'] #使用类似切片的方式获取所有单元格对象列表

cell_list2 = ws['C'] # 获取C列(第三)列的所有单元格对象列表

cell_list3 = ws['C:E'] # 获取C列到E列(C列、D列、E列)的所有单元格对象列表

cell_list4 = ws[10] #获取第10行的所有单元格对象列表

cell_list5 = ws[5:10] #获取第5行到第10行的所有单元格对象列表

cell_list6 = ws.iter_rows(min_row=None, max_row=None, min_col=None, max_col=None, values_only=False)

返回指定范围的所有单元格对象,返回格式中每行为一个元祖,然后由这些元祖组成列表,min_*不提供默认为1

4.3:获取所有单元格

all_sell1=ws.rows #返回所有单元格对象,返回格式中每行为一个元祖,然后由这些元祖组成列表

all_sell2=ws.columns #返回所有单元格对象,返回格式中每列为一个元祖,然后由这些元祖组成列表

5、保存成文件

wb.save('file_name.xlsx')

其他操作

1、添加一行到当前sheet的最底部

append(['This is A1', 'This is B1', 'This is C1'])

如果是list,将list从头到尾顺序添加

append({'A' : 'This is A1', 'C' : 'This is C1'})

如果是dict,按照相应的键添加相应的键值

2、根据列数字得到字母,根据字母得到列数字

openpyxl.utils.get_column_letter(num)

openpyxl.utils.column_index_from_string(str)

最后编辑:2020-03-04作者:qingheluo

这个作者貌似有点懒,什么都没有留下。

python导入excel模块_python使用openpyxl模块操作excel相关推荐

  1. python 导入包 作用域_Python 包、模块、函数、变量作用域

    Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量 Python是利用包和模块来组织一个项目的. 包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包,要想让个 ...

  2. python openpyxl模块安装_python之openpyxl模块

    一 . Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库 ...

  3. python 通过openpyxl来操作Excel文件(一 ):读取Excel文件

    这篇文章讲python 通过openpyxl来读取Excel文件 不清楚怎么通过openpyxl来写入Excel文件的小伙伴可以看我另一篇文章 传送门python 通过openpyxl来操作Excel ...

  4. python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

    这篇文章讲python 通过openpyxl来写入Excel文件,不清楚python怎么读取Excel文件的小伙伴可以去看下我的另一篇文章 传送门https://blog.csdn.net/i_cof ...

  5. java excel api 下载文件_Java-Excel Java操作Excel POI(Jakarta POI API) - 下载 - 搜珍网

    Java操作Excel/Jakarta POI API/data/Jakarta POI API.doc Java操作Excel/Jakarta POI API/jar/poi-3.0.2-FINAL ...

  6. python模块xlwt怎么用不了_python中使用 xlwt 操作excel的常见方法与问题

    前言 python可以操作excel的模块不止一种,我习惯使用的写入模块是xlwt(一般都是读写模块分开的) python中使用xlwt操作excel非常方,和Java使用调框架apache poi相 ...

  7. python导入同级包_python小课堂15 - 史上最详细的包和模块import讲解篇

    python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...

  8. python的主要应用领域及常用的函数模块_python之常用模块篇5

    一.日志模块,logging模块 1)logging模块简单使用,屏幕输出.默认级别30 import logging logging.debug('debug...') # 10logging.in ...

  9. python xlrd模块_python之xlrd模块

    xlrd模块 一.xlrd模块 1.python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2. xlrd模块 ...

最新文章

  1. Color the ball(HDU1556)树状数组
  2. 2019年安徽省模块七满分多少_二级造价考情分析:20年二级造价考试还有戏吗?...
  3. rm 空间不释放_rm删除文件之后,空间就被释放了吗?
  4. 编码格式经典书籍--代码整洁之道
  5. 【采用】【科技金融】CART树现金贷风控策略
  6. 微软开源Visual Studio测试平台VSTest
  7. Bolt XML和JQBolt Lua代码自动补全插件配置教程
  8. Oracle数据库 - 安装教程
  9. js 56个民族 数据
  10. openlayers学习——13、openlayers比例尺
  11. linux下多节点之间免密钥访问
  12. c语言实现小球跳动的效果
  13. 商业方向的大数据专业_工业大数据应用的三大挑战和五大商业趋势
  14. 【EasyExcel导入、导出(百万数据量测试)粘贴即用】
  15. 软件测试需要什么思维,做软件测试需要学习什么
  16. 几种常见代码管理工具比较(2009)
  17. 图像属性:格式、尺寸、分辨率、通道数、颜色空间
  18. Spring下载教程(保姆级)
  19. 借用smtp.qq.com发邮件
  20. DM9000AEP/CEP 技术文件

热门文章

  1. 换了一种管用pip安装方法,还有管用的python版hdf5(包名为h5py)安装方法
  2. 杭电2100Lovekey
  3. unsigned char bcd串乱码问题解决
  4. bliss android x86,Bliss OS现在可让您基于Android-x86和AOSP在PC上运行Android 10
  5. 随想录(搭建自己嵌入式项目的编译系统)
  6. python编程(深拷贝和浅拷贝)
  7. python编程(类的释放)
  8. 随想录(内存屏障示例代码)
  9. linux系统 安卓系统安装教程,Linux系统下安装android sdk的方法步骤
  10. 数据库系统由计算机硬件软件,集美大学计算机工程学院数据库软件04B卷答案.doc...