python中操作excel数据
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数据的更多相关文章
- python中操作excel数据 封装成一个类
本文用python中openpyxl库,封装成excel数据的读写方法 from openpyxl import load_workbook from openpyxl.worksheet.works ...
- python中操作excel
1.首先要安装xlrd cmd后运行pit install xlrd,安装好xlrd后会有成功提示,xlrd是读取excel 2.导入xlrd包 import xlrd 3.打开excel文档 tab ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- Python读写操作Excel模块_xlrd_xlwt_xlutils
Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...
- Python“文件操作”Excel篇(上)
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
- 分析Python中解析构建数据知识
分析Python中解析构建数据知识 Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记 ...
- Python Pandas操作Excel
Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- j2e中操作EXCEL
在j2e中操作excel,无非2种情况,在这里我贴部分代码做个例子就OK,不管是导入和导出都是操作的都是流 1,导入,浏览器输入EXCEL到java后台解析 package action; impor ...
随机推荐
- 【0】TensorFlow光速入门-序
本文地址:https://www.cnblogs.com/tujia/p/13863181.html 序言: 对于我这么一个技术渣渣来说,想学习TensorFlow机器学习,实在是太难了: 百度&qu ...
- MYSQL 那些事
1.一条update语句 1.先通过引擎找到对应的行数据,并加锁 2.对行数据进行修改并调用引擎接口修改这条数据,然后释放锁(此时并没有把数据在磁盘上做出修改) 3.redo log在内存中生成这条u ...
- 惊呆了!Spring Boot 还能开启远程调试?
持续原创输出,点击上方蓝字关注我 目录 前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启调试? transport server suspend address onthrow ...
- 21个写SQL的好习惯,你值得拥有
前言 每一个好习惯都是一笔财富,本文分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~ 公众号:捡田螺的小男孩 1. 写完SQL先explain查 ...
- 测试TwemProxy的应知应会
一.背景 最近中间件开发组对twemproxy的发现注册机制做了改造,之前没有接触过twemproxy,借这次测试的机会,初步学习了一下twemproxy相关的知识:下面用"测试语言&quo ...
- Java学习的第四十八天
1.例8.4找出整形数组中的最大值 import java.util.Scanner; public class Cjava { public static void main(String[]arg ...
- 超实用的14个 Spring MVC “隐藏”技巧,用了都说好!
通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求.然后,控制器调用业务类来处理与业务相关的任务,然后将客户端重定向到逻辑视图名称,该名称由Spring的调度程序Servlet ...
- Centos中部署NetCore项目(一)
前言 本文是基于centos8,dotnetcore3.1. (为了服务器安全使用,程序部署最好不要直接root账号进行操作.) 如果使用sudo命令时候,提示用户不在sudoers文件中的解决方法. ...
- Centos7安 装python3+Selenium+chrome+chromedriver
Centos7安装python3+Selenium+chrome+chromedriver详细python2和python3共存,Selenium错误的处理更新Centos源 wget -O /etc ...
- 基于 .NET 的 FluentValidation 数据验证
学习地址:官方文档,更多更详细的内容可以看官方文档. FluentValidation 是一个基于 .NET 开发的验证框架,开源免费,而且优雅,支持链式操作,易于理解,功能完善,还是可与 MVC5. ...