python操作excel,python有提供库

本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以

1.安装

pip install openpyxl

2.使用

2.1获取excel文件夹,注意:windows下面的路径有反斜杠,加一个r进行区分

wb = openpyxl.load_workbook(r'd:\cases.xlsx')

  

2.2获取所有表单

sheet=wb.worksheets#获取所有的表单,并把它赋值给sheet

sheet=wb.worksheets[0]#通过索引获取具体的一个表单

sheet=wb['sheet1']#可以通过表单名获取,这样获取到了表单,但是用sheet.方法名时,就没有自动提示方法了,如下图所示(pycharm的锅)  

  

2.3读取内容,需要提供行号和列号,注意“行号和列号是从1开始的,因为是excel中,并不是python中

#1.获取某个单元格
sheet=wb.worksheets#获取所有的单元格
cell=sheet.cell(行号,列号) cell.value#获取单元格中的值 #2.获取某一行 sheet[1] #获取某一行的值,不能直接sheet[1].value,因为sheet[1]得到的是元组,而元组没有.value属性,要使用循环 for column in sheet[1]: print(column.value) #获取某一列
sheet['A'] #获取多行,切片的方式,如获取1到3行 sheet[1:3]#第3行是包含的 # 获取所有的数据
toal_data = list(sheet.rows)
print(toal_data) for row in toal_data:#获取到一行
for cell in row:#获取行中的某一个值
print(cell.value)

  

  

2.4写入 获取到了,直接赋值

2.5 保存

wb.save(文件名)

  

2.6关闭

wb.close()

  

"""
1、打开表单 2、读取标题 头部 3、读取所有的数据 (类型是??) 4、指定单元格写入数据(使用静态方法,不要使用实例方法)
"""
from openpyxl import load_workbook
from openpyxl.worksheet.worksheet import Worksheet class ExcelHandler():
"""操作 Excel """ def __init__(self, file):
"""初始化函数"""
self.file = file
# self.wb = load_workbook(file) def open_sheet(self, name) -> Worksheet:
"""打开表单.
在函数或者方法的后面 加 -> 类型:表示此函数返回值是一个 这样的类型
函数注解。
"""
wb = load_workbook(self.file)
sheet = wb[name]
wb.close()
return sheet def header(self, sheet_name):
"""获取表单的表头"""
sheet = self.open_sheet(sheet_name)
headers = []
for i in sheet[1]:
headers.append(i.value)
return headers def read(self, sheet_name):
"""读取所有的数据"""
sheet = self.open_sheet(sheet_name)
rows = list(sheet.rows) # 获取标题
data = []
for row in rows[1:]:
row_data = []
for cell in row:
row_data.append(cell.value)
# 列表转成字典:要和 header 去 zip
data_dict = dict(zip(self.header(sheet_name), row_data))
data.append(data_dict)
return data @staticmethod
def write(file, sheet_name, row, column, data):
"""写入 Excel 数据"""
wb = load_workbook(file)
sheet = wb[sheet_name]
# 修改单元格
sheet.cell(row, column).value = data
# 保存
wb.save(file)
# 关闭
wb.close() if __name__ == '__main__':
excel = ExcelHandler(r'd:\cases.xlsx')
excel.write(r'd:\cases.xlsx', 'Sheet1', 5, 1, 'data_value')

python中操作excel数据的更多相关文章

  1. python中操作excel数据 封装成一个类

    本文用python中openpyxl库,封装成excel数据的读写方法 from openpyxl import load_workbook from openpyxl.worksheet.works ...

  2. python中操作excel

    1.首先要安装xlrd cmd后运行pit install xlrd,安装好xlrd后会有成功提示,xlrd是读取excel 2.导入xlrd包 import xlrd 3.打开excel文档 tab ...

  3. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  4. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  5. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  6. 分析Python中解析构建数据知识

    分析Python中解析构建数据知识 Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记 ...

  7. Python Pandas操作Excel

    Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...

  8. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  9. j2e中操作EXCEL

    在j2e中操作excel,无非2种情况,在这里我贴部分代码做个例子就OK,不管是导入和导出都是操作的都是流 1,导入,浏览器输入EXCEL到java后台解析 package action; impor ...

随机推荐

  1. 理解cookie

    Cookie的有效期 Cookie的maxAge决定着Cookie的有效期,单位为秒(Second).Cookie中通过getMaxAge()方法与setMaxAge(int maxAge)方法来读写 ...

  2. 一起学Vue:CRUD(增删改查)

    目标 使用Vue构建一个非常简单CRUD应用程序,以便您更好地了解它的工作方式. 效果页面 比如我们要实现这样列表.新增.编辑三个页面: 列表页面 新增页面 编辑页面 我们把这些用户信息保存到Todo ...

  3. LoadRunner接口脚本web_submit_data编写过程中遇到的问题及分享

    工作中需要接口测试,报文编辑器一条条手工发费时费力,因此考虑利用web_submit_data函数POST方法进行报文编辑.在报文编辑中主要遇到了三个问题,其中一个问题耗时两天查到问题所在,在这里与大 ...

  4. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...

  5. eclipse之SSH配置hibernate【三】

    配置hibernate,没有和spring整合,可以看成独立的部分. 在src下创建hibernate配置文件,hibernate.cfg.xml.主要是sql连接相关配置. <?xml ver ...

  6. Java学习的第二十二天

    1.异常处理 try...catch...finally... finally带return finally也可省略 try里面可以有try 多个异常用IllegalAgruementExceptio ...

  7. Python list函数

  8. Maven魔法堂:安装Oracle JDBC Driver依赖的那些坑

    前言 由于Oracle并没有向公开Maven仓库提供任何Oracle JDBC Driver的Jar包,因此我们无法像MySQL.SQLite等那么轻松直接通过Maven加载依赖. 而手动下载Orac ...

  9. Java程序员成长之路

    北哥在前文总结了程序员的核心能力,但在专业能力维度,只是做了大概的阐述,并没有详细展开.从今天开始,我会把我作为程序员成长过程中,学习的知识总结成系列文章陆续发出来,供大家学习参考. 本文是第一篇,关 ...

  10. 用数组实现队列(顺序队列&循环队列)

    用数组实现队列(顺序队列&循环队列) 顺序队列 ️ 队列(先进先出) 几个问题: 队列方法:入队.出队 队列的存储:即队首队尾两个指针, 扩容:如果队列容量不够了,应该扩容,如果队尾没有位置了 ...