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 ... 
随机推荐
- RT-thread内核对象标志flag总结
			一.内核标志flag 在内核对象控制块中有一个标志成员flag(rt_uint8_t flag; ),这个标志在不同有内核对象中具有不同的含义.rt-thread的内核对象有定时器.线程.信号量.互斥 ... 
- RT-thread内核之线程内核对象
			在RT-Thread实时操作系统中,任务采用了线程来实现,线程是RT-Thread中最基本的调度单位,它描述了一个任务执行的上下文关系,也描述了这个任务所处的优先等级.重要的任务能拥有相对较高的优先级 ... 
- BZOJ3167/BZOJ4824 HEOI2013SAO/CQOI2017老C的键盘(树形dp)
			前者是后者各方面的强化版. 容易想到设f[i][j]表示i子树中第j小的是i的方案数(即只考虑相对关系).比较麻烦的在于转移.考虑逐个合并子树.容易想到枚举根原来的排名和子树根原来的排名,算一发组合数 ... 
- SocketServer-实现并发处理3
			用socketserver创建一个服务的步骤: 1 创建一个request handler class(请求处理类),合理选择StreamRequestHandler和DatagramRequest ... 
- [洛谷P4980]【模板】Polya定理
			题目大意:给一个$n$个点的环染色,有$n$中颜色,问有多少种涂色方案是的旋转后本质不同 题解:$burnside$引理:$ans=\dfrac1{|G|}\sum\limits_{g\in G}A_ ... 
- snmp实用篇
			简单网络管理协议(SNMP)是 TCP/IP协议簇的一个应用层协议.在1988年被制定,并被Internet体系结构委员会(IAB)采纳作为一个短期的网络管理解决方案:由于 SNMP的简单性,在Int ... 
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition)  A
			A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input ... 
- POJ2155 树状数组
			Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 26650 Accepted: 9825 Descripti ... 
- 美国选举问题/完全背包/Knapsack
			using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Knap ... 
- svn update解决冲突
			(p) postpone 暂时推后处理,我可能要和那个和我冲突的家伙商量一番 (df) diff-full 把所有的修改列出来,比比看 (e) edit 直接编辑冲突的文件 (mc) mine-con ... 
