pip install openpyxl

几个常用的对象

  • Workbook:工作簿,一个包含多个Sheet的Excel文件
  • Worksheet:工作表,一个Workbook有多个Worksheet,如“Sheet1”,“Sheet2”等
  • Cell:单元格,存储具体的数据对象

导入包

#   导入的包在这里的用处
# 写入时间
from datetime import datetime
# 创建workbook对象
from openpyxl import Workbook
# 加载指定的Excel文件
from openpyxl import load_workbook
# 设置单元格对齐样式
from openpyxl.styles import Alignment
# 将数字转换为列字母
from openpyxl.utils import get_column_letter

创建Workbook、Worksheet

#   创建Workbook对象
wb = Workbook() # 获取活动工作表
ws = wb.active # 设置sheet的标题(默认为Sheet)
ws.title = 'my_sheet' # 新建一个Sheet(后面没有对这个sheet进行操作)
new_sheet = wb.create_sheet(title='new_sheet')

写入数据

#   将数字转换为列字母 27列为AA
print('52列的字母:', get_column_letter(52)) # 添加数据:一个单元格一个单元格的添加
# 六行五列
for row in range(1, 7):
for col in range(1, 6):
# 将当前单元格的列和行作为数据添加进去
cell_temp = ws.cell(row=row, column=col, value='{}{}'.format(get_column_letter(col), row))
# 设置单元格对齐方式:垂直居中
cell_temp.alignment = Alignment(horizontal='center', vertical='center') # 添加数据:一行一行的添加
ws.append([1, 2, 3, 4, 5])
ws.append((6, 7, 8, 9, 10)) # python类型将自动转换
ws['A9'] = datetime.now() # 最大行:max_row 最大列:max_column # 统计总行:在数据A列最后一行的下面显示总行
count_row_index = str(ws.max_row + 1)
ws['A' + count_row_index] = '总行:%d' % ws.max_row
# print('A' + count_row_index) 单元格:A10 # 统计总列:在数据第一行的最后一列后面显示总列
# 方法一:利用cell,得到具体第几行第几列的单元格
# count_col_index = ws.max_column + 1
# ws.cell(1, count_col_index, value='总列(方法一):%d' % ws.max_column)
# print(count_col_index) 单元格:第1行第6列 # 方法二:将数字转换为列字母
count_col_index = str(get_column_letter(ws.max_column + 1))
ws[count_col_index + '1'] = '总列(方法二):%d' % ws.max_column
# print(count_col_index + '1') 单元格:F1

保存

#    路径
path = r'C:\Users\Hlzy\Desktop\test.xlsx'
# 保存
wb.save(path)

读取execl

#   指定workbook
wb_read = load_workbook(path)
# 查看所有的sheet sheetnames
print('所有的sheet:', wb_read.sheetnames) # 只有一个sheet可以直接获取活动工作表
operate_sheet = wb_read.active
# 有多个sheet,需要使用其它时,需要指定sheet
# operate_sheet = wb_read['my_sheet'] print('\n数据:') # 从每行每列的单元格挨个读取值
for row in range(1, operate_sheet.max_row + 1):
for col in range(1, operate_sheet.max_column + 1):
# 根据将当前行数和列数取出cell的值
cell_value = operate_sheet.cell(row, col).value
# 单元格的值不为空时,打印出来
print(cell_value, end='\t') if cell_value else print(end='\t')
# 换行
print() # 可以在操作完数据后保存为新文件、或者覆盖旧文件
# operate_sheet['A1']='123'
# wb_read.save(path)
# wb_read.save(r'C:\Users\Hlzy\Desktop\test_new.xlsx')

效果

  • Excel中的数据

  • 打印的内容

Python对 Excel 的常用操作的更多相关文章

  1. Python—对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...

  2. 使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

  3. Python 基礎 - 字符串常用操作

    字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...

  4. python基础之列表常用操作及知识点小结

    列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ...

  5. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

  6. vbs中对excel的常用操作

    使用QTP自动化测试中,用到对excel的读写操作,这里把一些常用对excel操作的方法进行了归纳,总结.(对excel格式设置的常用操作这里没有进行总结.) Function DataToExcel ...

  7. Python对excel表格的操作.

    参考博客: https://blog.csdn.net/lmj19851117/article/details/78814721 ####一.excel的读取操作xlrd#### import xlr ...

  8. Python列表类型及常用操作

    Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven', ...

  9. python对excel表格进行操作

    python 对 EXCEL 进行操作 背景:对excel表格中某一列进行base 64解码操作,由于数据量比较庞大,就考虑用Python代码完成. 首先,分析整个文件操作中分为三步,第一步,对需要解 ...

随机推荐

  1. 使用.NET Core 构建现代化的桌面应用

    我们今天要聊的内容主要桌面开发四个方面:Windows平台..NET Core 3 平台上的WPF,Winform, 应用打包解决方案 MSIX 和 XAML 群岛访问原来UWP的控件,让我们的应用程 ...

  2. mysql之行转列与列转行

    mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...

  3. 耐人寻味的CSS属性font-family

    font-family是一个网站用户体验的第一入口,非常有必要花功夫来研究一下.我们首先需要了解衬线字体和无衬线字体,接着了解中英文的常用字体及其适用性. 衬线字体 衬线(serif)的笔画有粗有细的 ...

  4. MySQL去重保留最大的那条记录(取最新的记录)

    以用户登录日志表为例,取用户最近登录的设备 1 SET NAMES utf8mb4; 2 ; 3 4 -- ---------------------------- 5 -- Table struct ...

  5. 设计模式(含UML、设计原则、各种模式讲解链接)

    一.统一建模语言UML UML是一种开放的方法,用于说明.可视化.构建和编写一个正在开发的.面向对象的.软件密集系统的制品的开放方法 UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进 ...

  6. .NET开源类库Nini手册(INI、XML、注册表的配置应用)-中文翻译

    目录 1.简介 1.1什么是应用程序配置数据? 1.2问题 1.3介绍Nini 2.入门 2.1一个简单的例子 2.2默认值 2.3设置.保存和删除键 2.4添加和删除配置 2.5键值扩展 3.高级主 ...

  7. FCC---CSS Flexbox: Add Flex Superpowers to the Tweet Embed

    To the right is the tweet embed that will be used as the practical example. Some of the elements wou ...

  8. Mysql安装、配置、优化

    MYSQL定义 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最 ...

  9. pycharm连接远程python的开发环境

    一.准备工作 1.远程主机配置python的开发环境(pyenv) 2.本地windowsp安装pycharm 二.配置pycharm连接 配置运行环境:

  10. IO 多路复用详解

    转自:https://blog.csdn.net/sehanlingfeng/article/details/78920423