Python对 Excel 的常用操作
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 的常用操作的更多相关文章
- Python—对Excel进行读写操作
		学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ... 
- 使用Python对Excel进行读写操作
		学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ... 
- Python 基礎 - 字符串常用操作
		字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ... 
- python基础之列表常用操作及知识点小结
		列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ... 
- python数据类型:字典dict常用操作
		字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ... 
- vbs中对excel的常用操作
		使用QTP自动化测试中,用到对excel的读写操作,这里把一些常用对excel操作的方法进行了归纳,总结.(对excel格式设置的常用操作这里没有进行总结.) Function DataToExcel ... 
- Python对excel表格的操作.
		参考博客: https://blog.csdn.net/lmj19851117/article/details/78814721 ####一.excel的读取操作xlrd#### import xlr ... 
- Python列表类型及常用操作
		Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven', ... 
- python对excel表格进行操作
		python 对 EXCEL 进行操作 背景:对excel表格中某一列进行base 64解码操作,由于数据量比较庞大,就考虑用Python代码完成. 首先,分析整个文件操作中分为三步,第一步,对需要解 ... 
随机推荐
- 记一个AbstractMethodError
			如下,引入FastJsonHttpMessageConverter 之后,导致了新的错误: @Override public void configureMessageConverters( List ... 
- vue/cli 3 引入 使用jQuery
			注意这里配置的是vue-cli3.0引入jquery的方法,不是vue-cli2.0的配置方法 一.安装jquery npm install jquery --save 二.一般安装成功后在packa ... 
- Apollo 分布式配置中心(补充)
			1. Namespace 1.1. 什么是Namespace Namespace是配置项的集合,类似于一个配置文件的概念. Apollo在创建项目的时候,都会默认创建一个“application ... 
- C#中的Skip()和Take()
			Skip()和Take()方法都是IEnumerable<T> 接口的扩展方法,包括C#中的所有Collections类,如ArrayList,Queue,Stack等等,还有数组和字符串 ... 
- Python, import, module
			When the interpreter reads a python script file, it does two things: (1) set some special variable. ... 
- 怎么将CAD转JPG?教你两种CAD转JPG方法
			在CAD中,对于CAD图纸格式的转换那是比较常见的了,因为CAD图纸的格式是dwg格式的,在使用的时候不是那么的方便,就需要将CAD图纸转换为偏于查看的格式.那怎么将CAD转JPG呢?具体要怎么来进行 ... 
- Dotnet Core中使用AutoMapper
			官网:http://automapper.org/ 文档:https://automapper.readthedocs.io/en/latest/index.html GitHub:https://g ... 
- java 整合redis缓存 SSM 后台框架 rest接口 shiro druid maven bootstrap html5
			A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ... 
- 将Android封装库通过gradle部署到maven私服并依赖使用
			一.在需要发布的模块chrisbaselibrary下的build.gradle中添加以下部分 //maven插件 apply plugin: 'maven' //打包main目录下代码和资源的 ta ... 
- [20191127]表 full Hash Value的计算.txt
			[20191127]表 full Hash Value的计算.txt --//曾经做过表full Hash Value的计算,当时我是通过建立简单的schema以及表名的形式,使用hashcat破解o ... 
