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 ...
随机推荐
- mysql 必会基础2 distinct
1.插入数据方式 a> insert into student (id, name, age) values (1, 'zhangsan', 3); --字符串类型要用双引号.或单引号引起来,否 ...
- LSM 树详解
LSM树(Log Structured Merged Tree)的名字往往给人一个错误的印象, 实际上LSM树并没有严格的树状结构. LSM 树的思想是使用顺序写代替随机写来提高写性能,与此同时会略微 ...
- 实现多Realm时,可能会出现的问题
问题背景 在实现多Realm时,扩展了ModularRealmAuthenticator 和 UsernamePasswordToken,于是在MyAuthenticationToken token ...
- mysql 索引的原理(超细)
一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...
- ansible-palybooks
ansible-playbooks 如果用模块形式一般有幂等性,如果用shell或者command没有幂等性 playbooks相当于是shell脚本,可以把要执行的任务写到文件当中,一次执行,方便调 ...
- Windows10系统下Hadoop和Hive开发环境搭建填坑指南
前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...
- go-zero 是如何追踪你的请求链路的
go-zero 是如何追踪你的请求链路 微服务架构中,调用链可能很漫长,从 http 到 rpc ,又从 rpc 到 http .而开发者想了解每个环节的调用情况及性能,最佳方案就是 全链路跟踪. 追 ...
- [LuoguP2161[ [SHOI2009]会场预约 (splay)
题面 传送门:https://www.luogu.org/problemnew/show/P2161 Solution splay 的确有线段树/树状数组的做法,但我做的时候脑残没想到 我们可以考虑写 ...
- ThinkPHP中,运用PHPExcel,将数据库导出到Excel中
1.将PHPExcel插件放在项目中,本人位置是ThinkPHP文件夹下,目录结构如下/ThinkPHP/Library//Vendor/...2.直接根据模型,配置三个变量即可使用./** * Ex ...
- 自动化测试之Selenium篇(一):环境搭建
当前无论找工作或者是实际项目应用,自动化测试扮演着非常重要的角色,今天我们来学习下Selenium的环境搭建 Selenium简述 Selenium是一个强大的开源Web功能测试工具系列 可进行读入测 ...