Python 与 excel的简单应用
1、pip openpyxl库:
pip install openpyxl -i http://pypi.douban.com/simple --trust-host pypi.douban.com
2、导入模块
import openpyxl from openpyxl load_workbook
3、读取文件
1 wb = load_workbook(r'E:\****.xlsx')
2 shell = wb['Sheet1']
4、读取行、列、单元格:
row 行,以数字表示,从1开始
column 列,以字母表示,从A开始
cell 单元格
sheet 工作表
print(shell[1]) -----------------------------------
(<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>, <Cell 'Sheet1'.C1>, <Cell 'Sheet1'.D1>, <Cell 'Sheet1'.E1>, <Cell 'Sheet1'.F1>)
读取列:shell['column']
print(shell['A']) #这里的column需要用字母A、B、C等 --------------------------------------
(<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.A2>, <Cell 'Sheet1'.A3>, <Cell 'Sheet1'.A4>, <Cell 'Sheet1'.A5>, <Cell 'Sheet1'.A6>, <Cell 'Sheet1'.A7>, <Cell 'Sheet1'.A8>, <Cell 'Sheet1'.A9>, <Cell 'Sheet1'.A10>, <Cell 'Sheet1'.A11>, <Cell 'Sheet1'.A12>, <Cell 'Sheet1'.A13>, <Cell 'Sheet1'.A14>, <Cell 'Sheet1'.A15>, <Cell 'Sheet1'.A16>, <Cell 'Sheet1'.A17>, <Cell 'Sheet1'.A18>, <Cell 'Sheet1'.A19>, <Cell 'Sheet1'.A20>, <Cell 'Sheet1'.A21>, <Cell 'Sheet1'.A22>, <Cell 'Sheet1'.A23>, <Cell 'Sheet1'.A24>, <Cell 'Sheet1'.A25>, <Cell 'Sheet1'.A26>, <Cell 'Sheet1'.A27>, <Cell 'Sheet1'.A28>, <Cell 'Sheet1'.A29>, <Cell 'Sheet1'.A30>, <Cell 'Sheet1'.A31>, <Cell 'Sheet1'.A32>, <Cell 'Sheet1'.A33>, <Cell 'Sheet1'.A34>, <Cell 'Sheet1'.A35>, <Cell 'Sheet1'.A36>, <Cell 'Sheet1'.A37>, <Cell 'Sheet1'.A38>, <Cell 'Sheet1'.A39>, <Cell 'Sheet1'.A40>, <Cell 'Sheet1'.A41>, <Cell 'Sheet1'.A42>, <Cell 'Sheet1'.A43>, <Cell 'Sheet1'.A44>, <Cell 'Sheet1'.A45>, <Cell 'Sheet1'.A46>, <Cell 'Sheet1'.A47>)
读取单元格: shell.cell(row,column) or shell['A1']
print(shell.cell(1,1)) #注意:这里的列号需要用数字 --------------------------------------
<Cell 'Sheet1'.A1> print(shell['A1']) ---------------------------------------
<Cell 'Sheet1'.A1>
读取切片: shell['A1':'B5']
5、获取单元格的值:
shell1['A1'].value /shell.cell(1,1).value
6、获取切片的值:
由于切片的类型是元组,因此不能直接用.value的方式来获得值,需要将其转化为可遍历的enumerate():
1 e1 = shell1['E32':'E38']
2 for index,item in enumerate(e1):
3 for cell in item :
4 value = cell.value
5 str = value[0]+'ROUND('+value[1:]+',0)'
6 cell.value = str
7、文件保存:
wb.save('filename')
9、自动给写好计算公式加入取整方法的代码:
#放入excel表中所在文件夹,修改数据切片位置
from openpyxl import load_workbook #打开文件
wb = load_workbook('test.xlsx')
shell1 = wb['Sheet1']
#切片位置
e1 = shell1['C1':'C10']
#修改公式
for index,item in enumerate(e1):
for cell in item :
value = cell.value
str = value[0]+'ROUND('+value[1:]+',0)'
cell.value = str
wb.save('test2.xlsx')
代码用法:
1、将上述代码用文本文件保存,按注释修改代码后,修改文件名为round.py,放到需要修改的表格文件同一文件夹内
2、文件夹内Shift+右键,菜单中选择“在此外打开Power Shell窗口“
3、输入python round.py
4、等待程序执行完毕后,查看文件平中新生成的xlsx文件;
以上,记录,以备脑力过衰不记事时查看【doge】
Python 与 excel的简单应用的更多相关文章
- 使用Python对Excel表格进行简单的读写操作(xlrd/xlwt)
算是一个小技巧吧,只是进行一些简单的读写操作.让人不爽的是xlrd和xlwt是相对独立的,两个模块的对象不能通用,读写无法连贯操作,只能单独读.单独写,尚不知道如何解决. #①xlrd(读) #cod ...
- 使用Python处理Excel表格的简单方法
使用Python处理Excel表格的简单方法 这篇文章主要介绍了使用Python处理Excel表格的简单方法,本文给大家介绍的非常详细,需要的朋友可以参考下 Excel 中的每一个单元,都会有这些属性 ...
- 用python处理excel文件有多轻松?工作从未如此简单
最近需要频繁读写 excel 文件,想通过程序对 excel 文件进行自动化处理,发现使用 python 的 openpyxl 库进行 excel 文件读写实在太方便了,结构清晰,操作简单.本文对 o ...
- Python读写Excel表格(简单实用)
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:giao窝里giao首先安装两个库:pip install xlrd. ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- [转]用Python读写Excel文件
[转]用Python读写Excel文件 转自:http://www.gocalf.com/blog/python-read-write-excel.html#xlrd-xlwt 虽然天天跟数据打交 ...
随机推荐
- mysql 用户 登陆 权限相关
1. CREATE USER 'dog2'@'localhost' IDENTIFIED BY ''; 将"localhost"改为"%",表示在任何一台电脑上 ...
- $().arr使用
$("#handmoney").attr("readonly","readonly"); 只读 $("img").att ...
- WPF权限控制——【2】模块、菜单、按钮
周末没有工作,没有写博客,因为觉得休息很必要:曾听到一句话是这样说的:"你们得救在乎归回安息:你们得力在乎平静安稳".当我想到太阳没秒钟要燃烧420万吨的燃料时,想到的就是造物主的 ...
- Australia Trip Memory (>~<)
近日,掠过空中星尘,喜于"水雾","牛马",晨曦中不情愿地睁开双眼,到达 Australia 这个"人间天堂"那天的场景还似黄粱一梦却已经是 ...
- HarmonyOS单模块编译与源码导读
我这里以3518的开发板为例进行讲解,3516的也是通用的. 下面是之前全量编译的脚本 python build.py ipcamera_hi3518ev300 -b debug HarmonyOS最 ...
- 500行SQL快速实现UCF
写在前面话 UCF通常是User-base Collaborative Filter的简写;大体的算法思路是根据用户行为计算相似群体(邻居),为用户推荐其邻居喜好的内容:感觉是不是很简单.那废话不多说 ...
- 一文弄懂-BIO,NIO,AIO
目录 一文弄懂-BIO,NIO,AIO 1. BIO: 同步阻塞IO模型 2. NIO: 同步非阻塞IO模型(多路复用) 3.Epoll函数详解 4.Redis线程模型 5. AIO: 异步非阻塞IO ...
- 二分图最大权匹配问题&&KM算法讲解 && HDU 2255 奔小康赚大钱
作者:logosG 链接:https://www.cnblogs.com/logosG/p/logos.html (讲解的KM算法,特别厉害!!!) KM算法: 现在我们来考虑另外一个问题:如果每个员 ...
- Codeforces Round #177 (Div. 2) B. Polo the Penguin and Matrix (贪心,数学)
题意:给你一个\(n\)x\(m\)的矩阵,可以对矩阵的所有元素进行\(\pm d\),问能否使得所有元素相等. 题解:我们可以直接记录一个\(n*m\)的数组存入所有数,所以\((a_1+xd)=( ...
- Linux系统编程【2】——编写who命令
学到的知识点 通过实现who命令,学到了: 1.使用man命令寻找相关信息 2.基于文件编程 3.体会到c库函数与系统调用的不同 4.加深对缓冲技术的理解 who命令的作用 who命令的使用 在控制终 ...