python基础===Excel处理库openpyxl
openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。
安装:
pip install openpyxl
对如下excel进行读取操作,如图:

from openpyxl import load_workbook
wb = load_workbook("123.xlsx")
print(wb.get_sheet_names())
#>>>[Sheet111,Sheet222,Sheet333]
a_sheet = wb.get_sheet_by_name("Sheet111")
print(a_sheet.title)
#>>>Sheet111
a1 = a_sheet['A1']
print(f'({a1.column}, {a1.row}) is {a1.value}')
#>>>3
a1_too =a_sheet.cell(row = 4, column = 2)
print(a1_too.value)
#>>>fvf
# 获得最大列和最大行
print(a_sheet.max_row)
#>>>6
print(a_sheet.max_column)
#>>>4
for row in a_sheet.rows:
for cell in row:
print(cell.value,end = '\t')
print('\n')
'''
>>>
3 3 None None
4 None None None
5 None fv fv
6 fvf None None
7 None None None
909 None None None
'''
#获取某一行或者某一列的数据
for cell in list(a_sheet.rows)[3]:
print(cell.value,end = "\t")
#>>>6 fvf None None
#获取任意区间的单元格
for i in range(2, 4):
for j in range(1, 3):
print(a_sheet.cell(row=i, column=j).value,end = "\t")
#>>>4 None 5 None
对文件的写入操作:
from openpyxl import Workbook wb = Workbook()
ws = wb.active
#创建一张新的表
ws1 = wb.create_sheet("botoo") #写入数据
ws1["a1"]=10086
#或者
ws1["a2"].value= 1111111 #为B列创建数据 1~19
for i in range(1,20):
ws1["B%d" %i] .value= i #为20行创建数据 1~10
for i in range(1,20):
ws1.cell(column = i, row = 20).value = i wb.save("这是python写入3.xlsx")
效果如下:

*当需要对已有文件进行更改的时候,需要使用:
>>> from openpyxl import load_workbook
>>>wb2 = load_workbook('test.xlsx')
>>> print wb2.get_sheet_names()
['Sheet2', 'New Title', 'Sheet1']
否则文件内容会被覆盖。
参考文章:
http://openpyxl.readthedocs.io/en/stable/
https://blog.csdn.net/hunter_wyh/article/details/78498323
http://www.pythontab删去汉字.com/html/2018/pythonhexinbiancheng_0503/1286.html
(不知道为什么Python中文开发社区的链接放不上去)
python基础===Excel处理库openpyxl的更多相关文章
- 27.python中excel处理库openpyxl使用详解
openpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装. 读取Excel文件 需要导入相关函数 ? 1 2 3 from openpyxl ...
- python操作Excel的库openpyxl
http://openpyxl.readthedocs.io/en/default/tutorial.html 这里先上该库的文档镇文. 1,遇到合并后的单元格信息读取的问题,通过使用cell中off ...
- python处理Excel - xlrd xlwr openpyxl
python处理Excel - xlrd xlwr openpyxl 1 xlrd和xlwt Todo: 使用xlrd和xlwt读写Excel文件的方法和示例代码,待续... 参考链接: Creati ...
- Python基础面试题库
Python基础面试题库 Python是一门学习曲线较为容易的编程语言,随着人工智能时代的到来,Python迎来了新一轮的高潮.目前,国内知乎.网易(游戏).腾讯(某些网站).搜狐(邮箱).金山. ...
- python基础和编程库
Python编程从入门到实践-------基础入门 1.Python中的变量 2.Python首字母大写使用title()方法,全部大写upper()方法,全部小写lower()方法 3.Python ...
- Python之excel第三方库xlrd和xlwt
Python读取excel表格的库xlrd,首先安装xlrd: pip3 install xlrd 代码: #!usr/bin/env python3 #!-*-coding=utf-8 -*- '' ...
- Python 基础教程 —— Pandas 库常用方法实例说明
目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index]) 根据行建立数据 3. pandas.DataFrame ({dic}) ...
- Python基础语法题库
引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...
- Python基础之第三方库gevent安装
安装gevent库: 想要安装gevent库,我们需要确定pip版本: 使用 pip3 list: 我们可以发现pip版本为19.3.1,如果你们的pip版本不是最新版可以使用命令python -m ...
随机推荐
- Java notify的使用
半路出家学习java, 花了几分钟简单看了.在早上那个例子上稍微改了下, notify 对象上必须使用 synchronized 我的理解是在java synchronized只是个线程同步标志,但是 ...
- JVM启动参数详解 (转)
非标准参数 非标准参数又称为扩展参数,其列表如下: -Xint 设置jvm以解释模式运行,所有的字节码将被直接执行,而不会编译成本地码. -Xbatch 关闭后台代码编译,强制在前台编译,编译 ...
- BZOJ4771 七彩树(dfs序+树上差分+主席树)
考虑没有深度限制怎么做.显然的做法是直接转成dfs序上主席树,但如果拓展到二维变成矩形数颜色数肯定没法做到一个log. 另一种做法是利用树上差分.对于同种颜色的点,在每个点处+1,dfs序相邻点的lc ...
- [BZOJ5120] [2017国家集训队测试]无限之环
Description 曾经有一款流行的游戏,叫做InfinityLoop,先来简单的介绍一下这个游戏: 游戏在一个n×m的网格状棋盘上进行,其中有些小方格中会有水管,水管可能在方格某些方向的边界的中 ...
- struts2远程代码执行漏洞汇总整理
一.S2-001 1.漏洞原理 在默认配置下,如果用户所提交的表单出现验证错误,后端会对用户的输入进行解析处理,然后返回并显示处理结果. 举个例子,当你提交的登录表单为username=xishir& ...
- HDOJ(HDU).1412 {A} + {B} (STL SET)
HDOJ(HDU).1412 {A} + {B} (STL SET) 点我挑战题目 题意分析 大水题,会了set直接用set即可. 利用的是set的互异性(同一元素有且仅有一项). #include ...
- 初学VS的目录结构
工程目录下各文件的含义 一般大部分的文章可能介绍到上面就算结束了,但我这还没有.创建工程产生的各个文件都你知道是什么用的吗? 如果你是一个初学者,你可能会不知道(老手请跳过本文).Ok,我就带你逐一了 ...
- 如何在阿里云服务器部署Django
这段时间一直在搞我的网站——大学易,一个大学生评课网站,主要是提供课程的详尽信息(比如老师会不会经常点名,有没有期中考试),课程资料的下载等等. 这篇文章主要是分享给那些菜鸟,就是像我一样完全没有搞过 ...
- hdu4085 Peach Blossom Spring
Peach Blossom Spring http://acm.hdu.edu.cn/showproblem.php?pid=4085 Time Limit: 10000/5000 MS (Java/ ...
- 元类编程-- 实现orm,以django Model为例
# 需求 import numbers class Field: pass class IntField(Field): # 数据描述符 def __init__(self, db_column, m ...