python openpyxl读写xlsx_python高阶教程-python操作xlsx文件(openpyxl)
本篇内容来自原创小册子《python高阶教程》,点击查看目录。
背景
在处理一些作业时,经常会碰到统计未交人数、分数等需求,虽然我们在数据库中有了对应的数据,
但是数据库只是面向开发者的,仍然需要将其转换为专业的可阅读格式-excel表格。
目前常用的操作xlsx表格的是openpyxl, 官网地址
编程模型
读取from openpyxl import Workbook
from openpyxl.utils import get_column_letter
# 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
wb = Workbook()
#获取当前活跃的worksheet,默认就是第一个worksheet
ws = wb.active
#设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
ws.cell(row=1, column=1).value = 6
ws.cell("B1").value = 7
#从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
for row in range(2,11):
for col in range (1,11):
ws.cell(row=row, column=col).value = get_column_letter(col)
#可以使用append插入一行数据
ws.append(["我","你","她"])
#保存
wb.save(filename="/Users/budong/Desktop/a.xlsx")
写入from openpyxl import load_workbook
#打开一个workbook
wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
#获取当前活跃的worksheet,默认就是第一个worksheet
#ws = wb.active
#当然也可以使用下面的方法
#获取所有表格(worksheet)的名字
sheets = wb.get_sheet_names()
#第一个表格的名称
sheet_first = sheets[0]
#获取特定的worksheet
ws = wb.get_sheet_by_name(sheet_first)
#获取表格所有行和列,两者都是可迭代的
rows = ws.rows
columns = ws.columns
#迭代所有的行
for row in rows:
line = [col.value for col in row]
print(line)
#通过坐标读取值
print(ws.cell('A1').value) # A表示列,1表示行
print(ws.cell(row=1, column=1).value)
处理包含学生学号和学生姓名的表格
在该例子中,xlsx表格中只有两列,第一列是学生学号,第二列是学生姓名,
使用get_stu可以获取xlsx文件中的学号与姓名供使用,使用write_xlsx
可以向xlsx文件中写入数据,其中data为二维列表。from openpyxl import Workbook, load_workbook
src_name = 'students.xlsx'
def get_stu(file_name, type='code'):
wb = load_workbook(file_name)
ws = wb.active
stu_code = []
rows = ws.rows
for row in rows:
if type=='code':
# stu code
col = row[1]
elif type=='name':
col = row[2]
else:
col = row[1]
stu_code.append(str(col.value))
return stu_code
def write_xlsx(file_name, data):
wb = Workbook()
ws = wb.active
for row in range(1,len(data) + 1):
for column in range(1, len(data[row-1]) + 1):
ws.cell(row=row, column=column).value = data[row-1][column-1]
wb.save(filename=file_name)
参考:
python openpyxl读写xlsx_python高阶教程-python操作xlsx文件(openpyxl)相关推荐
- python的openpyxl模块下载_python解析.xls/.xlsx文件–openpyxl模块(第三方)
围观人数: 7 标签:book set tle 命令行 文件中 不能 charm 读取 pen 第一part:Excel文件的介绍 Microsoft Excel是Mi ...
- python函数式编程、高阶函数
1.map() python内置的高阶函数,接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回. def f(x):return x * xprin ...
- Python中常用的高阶函数
Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable) 过滤器 ...
- Python学习日志10 - 高阶函数和高级应用
Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志10课 - 高阶函数 ...
- python学习——函数式编程——高阶函数
python学习--函数式编程--高阶函数 函数式编程(高阶函数):1:map && reduce; 2 : filter; 3: sorted; ------------------ ...
- keil obj 文件 结构_【Python】数据分析前的入门教程 Python For Everybody P2:数据结构...
这是密歇根大学课程Python For Everybody总结的P2部分.课程总结P1部分的地址如下: P1: 零基础程序设计(Python 入门) carolinezhq:[Python]数据分析前 ...
- hexo高阶教程:想让你的博客被更多的人在搜索引擎中搜到吗?
本文首发在我的个人博客:http://cherryblog.site/,欢迎大家前去参观,顺便求fork,么么哒~ 上一次在掘金上发表的hexo高阶教程:hexo高阶教程next主题优化之加入网易云音 ...
- functools 可调用对象上的高阶函数和操作
functools-可调用对象上的高阶函数和操作 functools 该模块用于高阶函数:作用于或返回其他函数的函数.通常,就此模块而言,任何可调用对象都可以视为函数. 该模块定义了以下功能:func ...
- python装饰器带参数函数二阶导数公式_SICP Python 描述 1.6 高阶函数
1.6 高阶函数 我们已经看到,函数实际上是描述复合操作的抽象,这些操作不依赖于它们的参数值.在square中, >>> def square(x): return x * x 我们 ...
最新文章
- Android之打造属于自己的侧边栏(SlidingMenu)
- Java数据结构与算法——插入排序
- 1.11 超过人的表现-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- 读书印记 - 《技术元素》
- bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)
- NSString的retainCount
- GPS模块坐标偏差很大?
- Android自定义View【实战教程】1⃣️----attrs.xml详解
- 转iOS深拷贝与浅拷贝 附NSSet讲解
- Activiti工作流Day18-Crystalball流程仿真
- idea全局搜索快捷键总结
- 关于28379D的X-BAR
- 译: 进化的系统需要进化的系统工程
- 编译安装nginx实现反向代理、负载均衡、缓存功能
- Java面经:小米暑期实习+秋招真题分享
- 《国富论》笔记——货币
- 登录微信支付商户平台-产品中心,开通企业付款的方法
- unity2022打开项目时报Fatal error显示无权访问d3dcompiler_47.dll, 解决方法很简单-还有ucrtbase.dll问题
- Word 2016 撰写论文(4): 批量修改MathType公式字体大小
- 解决vim E492 Not an editor command M
热门文章
- Android之BroadcastReceiver的使用
- Opengl_20 _复习变换矩阵+复习光源+两个模型使用不同的shader
- cocoapod卡在了analyzing dependencies
- WannaCry勒索比特币蠕虫病毒解决方案
- node.js介绍及Win7环境安装测试(转)
- 学习总结初篇:发现问题
- recovery v1跟recovery v2的区别
- 一只快乐的野指针_野酸枣
- python版本升级和系统更新下载安装_Python环境安装与升级
- 拆分文件_领导让把工作表拆分每个文件,我花半个小时,同事1分钟搞定了