开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 1

JackTang198/CS-Java-LearnNotes

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
标签 (1)
master
2020年09月30日
master
分支 (1)
标签 (1)
master
2020年09月30日
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
标签 (1)
master
2020年09月30日
optexcel.py 3.95 KB
一键复制 编辑 原始数据 按行查看 历史
prayjourney 提交于 2021年11月26日 00:40 +08:00 . 🎇update
# -*- coding:utf-8 -*-
"""
使用openpyxl来操作xlsx格式的excel文档
至于以前的xls格式,暂时不去考虑
openpyxl是python官方推荐的excel处理包
还有xlwings也是一个流行的包,功能较为强大,可以处理VBA
Xlsxwriter样式丰富,但是只能创建,不能修改文档
总体而言,openpyxl是最为综合和全面的一个包
"""
'''
在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。
Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。
openpyxl就是围绕着这三个概念进行的,
不管读写都是"三板斧":打开Workbook,定位Sheet,操作Cell。
下面分读和写分别介绍几个常见的方法。
'''
'''
不管是读取还是写入,如果文件是打开的状态,则会报"文件无权限访问"的bug
'''
# 写入
# 关于导入的问题:
# 1.一般而言,一个包之中,类名是不会重复的,所以,我们可以使用["from 包名 import 类名"]的方式来导入
# 2.当一个包里面有子包名和类名重复的时候,我们为了做一个明显的区别,可以使用["from 包名.子包名 import 类名"]的方式来导入
# 更加极端一点,在以上的例子之中我们可以有多个子包名,形成了"包名.子包名.子包名...子包名"的 模式
# 3.还有一种不标准的方式,就是只是并导入子包名,然后使用子包名来引用其中的方法和类,这种方式一般不太推荐
# 但是一般而言,我们都是采用第一种["from 包名 import 类名"]的方式来导入,如下的
# 1.from openpyxl.workbook import Workbook 其实和2.from openpyxl import Workbook等价
# 当然也和3.from openpyxl import workbook等价,但是在下面的使用之中,就要使用wb = workbook.Workbook()的方式来引用
# 而1,2两种方式则只需要使用wb = Workbook()这种模式来引用类之中的方法即可
# 1中的workbook是子包名,Workbook是类名,3之中的workbook也是子包名
# from openpyxl import workbook
# from openpyxl.workbook import Workbook
from openpyxl import Workbook, load_workbook
from openpyxl.drawing.image import Image
from openpyxl.styles import Alignment, Font
# 写入
wb = Workbook() # 创建一个工作簿,一个工作簿创建好之后,默认就有一个sheet
# wb = workbook.Workbook()
sheet = wb.active # 激活当前的sheet
sheet.title = "默认创建的sheet"
sheet['C3'] = ' hello world!'
sheet2 = wb.create_sheet("自己创建的sheet2")
sheet2.sheet_properties.tabColor = "1072BA" # 设置了sheet的属性
sheet2['A3'].value = 'hello' # 此处设置为A3正确,但是设置为3A错误,说明是先列后行
for x in range(10):
sheet["A%d" % (x + 1)].value = x + 1
sheet['E1'].value = "=SUM(A:A)"
for st in wb: # 打印标题
print(st.title)
# 插入图片,需要PIL库支持
sheet2['E2'] = 'You should see three logos below'
img = Image('mg.jpg')
sheet2.add_image(img, 'E2')
# 样式设置,字体大小
font = Font(name="小米兰亭", size=20)
sheet2.cell(row=3, column=1).font = font
wb.save("myfrist.xlsx") # 保存
# 读取
wr = load_workbook("myfrist.xlsx")
print(wr.sheetnames)
print(sheet['C'])
print(sheet[1][2]) # 从1开始,而非从0开始
print(sheet[1][2].value) # excel是行优先还是列优先?--->先列后行
print(sheet['C3'].value) # C3 <-第C3格的值
print(sheet.max_row) # 10 <-最大行数
print(sheet.max_column) # 5 <-最大列数
# 打印
for i in sheet['A']:
print(i.value, end="=")
ss = wr.get_sheet_by_name('自己创建的sheet2')
ss['C4'] = "MLGB"
ss.append([1, 2, "hello"]) # 添加三个cell数值,一般要求添加的格式是list,tuple,dict,不能是str
# ss.append({"hi": "你好"}) # 添加一个值
# 遍历多个单元格
for row in ss.iter_rows('A1:D2'):
for cell in row:
print(cell)
# 使用sheet中的cell来操作Cell
md1 = ss.cell('A3').value
mdc = ss.cell(row=4, column=3)
md2 = mdc.value
print("====", md1, md2)
wr.save("myfrist.xlsx")
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

不断总结的计算机基础,编程相关的基本技能、技巧、方法、知识点与学习笔记
暂无标签
BSD-3-Clause
使用 BSD-3-Clause 开源许可协议
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/JackTang198/CS-Java-LearnNotes.git
git@gitee.com:JackTang198/CS-Java-LearnNotes.git
JackTang198
CS-Java-LearnNotes
CS-Java-LearnNotes
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /