1.3.1 python解析excel格式文件
Excel表格
Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。
excel文档的基本定义
工作薄(workbook)
工作表(sheet)
活动表(active sheet)
行(row): 1,2,3,4,5,6……..
列(column): A,B,C,D……..
单元格(cell): B1, C1
excel文件格式
Python安装excel相关模块
python对于Excel表格操作的模块有很多种,其中
xlrd:对xls、xlsx、xlsm文件进行读操作–读操作效率较高,推荐
xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx文件
openpyxl:对xlsx、xlsm文件进行读、写操作–xlsx写操作推荐使用
Python不附带Openpyxl,因此您必须安装它。模块的名称是openpyxl,其安装方式有两种,可以直接在dos中使用下面命令:
pip install openpyxl
同样可以直接在pycharm中选择File | Settings | Project: python2020 | Project Interpreter
操作的excel表格数据是
打开一个excel文档
import openpyxl
# 打开一个excel文档, class 'openpyxl.workbook.workbook.Workbook'实例化出来的对象
wb = openpyxl.load_workbook('wood.xlsx')
print(wb, type(wb))
# 获取当前工作薄里所有的工作表, 和正在使用的表;
print(wb.sheetnames)
print(wb.active)
执行结果:
选择要操作的工作表
# 2. 选择要操作的工作表, 返回工作表对象
sheet = wb['Sheet1']
# 获取工作表的名称
print(sheet.title)
执行结果:
指定行指定列的单元格信息
# 3. 返回指定行指定列的单元格信息
print(sheet.cell(row=1, column=2).value)
cell = sheet['B1']
print(cell)
print(cell.row, cell.column, cell.value)
执行结果:
获取工作表中行和列的最大值
# 4. 获取工作表中行和列的最大值
print(sheet.max_column)
print(sheet.max_row)
sheet.title = '学生信息'
print(sheet.title)
执行结果:
访问单元格的所有信息
# 5. 访问单元格的所有信息
print(sheet.rows) # 返回一个生成器, 包含文件的每一行内容, 可以通过便利访问.
# 循环遍历每一行
for row in sheet.rows:
# 循环遍历每一个单元格
for cell in row:
# 获取单元格的内容
print(cell.value, end=',')
print()
执行结果:
保存修改信息
# 6. 保存修改信息
wb.save(filename='wood.xlsx')
将数据写入Excel
工作表相关
导入WorkBook模块
from openpyxl import Workbook
wb = Workbook()
这样就新建了一个新的工作表(只是还没被保存)。
若要指定只写模式,可以指定参数write_only=True。一般默认的可写可读模式就可以了。
from openpyxl import Workbook
wb = Workbook()
print(wb.get_sheet_names()) # 提供一个默认名叫Sheet的表
#上述获取sheet的方式已经被sheetnames属性替换了:wb.sheetnames
# 直接赋值就可以改工作表的名称
wb["Sheet"].title = 'Sheet1'
# 新建一个工作表,可以指定索引,适当安排其在工作簿中的位置
wb.create_sheet('test', index=1) # 被安排到第二个工作表,index=0就是第一个位置
# 删除某个工作表
wb.remove(wb["Sheet1"]) #同样还可以使用del wb["Sheet1"]
#保存excel
wb.save("wood_test.xlsx")
写入单元格
还可以使用公式
#先获取test工作表的操作对象
sheet=wb["test"]
#直接给单元格赋值就行
sheet['A1'] = 'wood'
sheet["B4"]=10
sheet["B8"]=20
# B10处写入平均值
sheet['B10'] = '=AVERAGE(B4:B8)'
执行结果如下:
append函数
可以一次添加多行数据,从第一行空白行开始(下面都是空白行)写入。
# 添加一行
row = [11, 12, 13, 14, 15]
sheet.append(row)
# 添加多行
rows = [
['ID', 'age1', 'age2'],
[2, 40, 30],
[3, 40, 25],
[4, 50, 30],
[5, 30, 10],
[6, 25, 5],
[7, 50, 10],
]
for value in rows:
sheet.append(value)
执行结果:
Excel操作总结
导入 openpyxl 模块。
调用 openpyxl.load_workbook()函数。
取得 Workbook 对象。
调用 wb.sheetnames和 wb.active 获取工作簿详细信息。
取得 Worksheet 对象。
使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
取得 Cell 对象。
读取 Cell 对象的 value 属性
了解更多信息关注公众号:
1.3.1 python解析excel格式文件相关推荐
- java解析excel文件_1.3.1 python解析excel格式文件
Excel表格 Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件. excel文档的基本定义 工作薄(work ...
- python操作excel格式文件
python操作excel格式文件 1. 读数据 2. 写excel 3.操作整合 1. 读数据 安装包 pip install openpyxl 导包 from openpyxl import lo ...
- python 处理 excel格式文件
python 调用xlrd package就可以处理excel文件. 简单例子如下: 源码如下: # -*- coding: utf-8 -*- import xlrd #-------------- ...
- python 读取excel格式xml,读取xml格式的xls文件、解析其中数据
1.python 读取excel格式xml,解析其中数据 当excel文件的格式是xml的时候,window系统是可以正常打开的,但是使用pandas直接读取则会报错,原因就是现在已经是xml文件了, ...
- python xlrd读取excel-使用Python xlrd模块读取Excel格式文件的方法
这是一篇关于如何使用Python xlrd模块读取Excel格式文件的方法的文章,下面的python代码中使用 了xlrd模块的方法,这样就能够很方便的读取 excel 文件内容.同是这个xlrd模块 ...
- Python:pmml格式文件的简介、安装、使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略
Python:pmml格式文件的简介.安装.使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略 目录 pmml格式文件的简介 1.PMML结构 pmml安装 pmm ...
- vue实现纯前端导入与解析excel表格文件,导出Excel
一.安装相关依赖 npm install --save xlsx file-saver 二.使用 import * as XLSX from 'xlsx/xlsx.mjs' const FileSav ...
- python 读取csv文件转成字符串,python实现csv格式文件转为asc格式文件的方法
一.背景描述 csv格式文件是一种类似于excel的文件格式 asc格式文件是一种可以用text打开的文本文件 csv转asc本来可以用arcgis顺利完成,但由于csv数据量太大(744万行),ar ...
- python操作xlsx格式文件
python操作xlsx格式文件 一.准备工作 二 .xlrd库读取 三.pandas库读取 1.安装pandas: pip install pandas 2.代码如下 3.操作行列 一.准备工作 二 ...
最新文章
- 爱情麻辣烫:浓缩了中华美食精华与火锅的精髓
- 物联网和工业互联网场景下的边缘计算
- 剑指offer面试题[6]-重建二叉树
- BZOJ 1597 [Usaco2008 Mar]土地购买 (斜率优化dp)
- 软件测试面试题整理(一)之自动化测试题大合集
- 一句powershell调用mimikatz抓密码
- DJI Onboard-SDK-ROS-4.0.1 在妙算2-G上编译运行
- VR全景智慧城市三维实景的建设和呈现目标
- Opencv中的颜色检测
- C语言编译过程流程图
- excel中以文本形式保存长数字
- Ubuntu(乌班图)修改阿里云镜像源详细步骤及安装gcc编译器
- WZOI-261疯狂吃鸡腿2
- YOLOV3 网络结构学习笔记
- 三次握手与四次挥手过程详解
- 生产制造业ERP管理系统对于制造企业的好处有哪些?
- EFR32 xG1x的bootloader被擦除
- 小花梨的取石子游戏 ( 博弈 )
- Interview100-91 著名的毒酒问题
- linux字体配置要略,Linux字体配置要略.pdf
热门文章
- UE4 无用の小技巧之联机游戏获取自身控制器
- 开源 IoT 物联网分布式实时数据分析服务
- 关于 “IP地址“ 的学习笔记
- CSS3动画属性 animation详解(看完就会)
- el-form中el-form-item label换行
- Android多媒体篇
- C语言中exit(0)与exit(1)有什么区别
- 常用的ARM汇编指令总结
- HTML5游戏引擎(十六)-屏幕适配——showAll模式 noScale模式 noBorder模式 exactFit模式 fixedWidth模式 fixedHeight模式
- Java—Connection的常用功能