1.2 用Python新建Excel文件

1.2.1 Excel的相关术语

workbook[ˈwəːkbʊk]:工作簿对象,工作簿文件。
worksheet[ˈwəːkʃiːt]:工作表。
cell[sel]:单元格。

1.2.2 openpyxl.Workbook( )新建工作薄

1.2.3 对象.save( )保存工作薄

任务1
在当前文件夹新建一个Excel 文件,命名为【学生花名册1.xlsx】并保存在当前目录。

# 导入库
import openpyxl# 用openpyxl 库 的Workbook 类来创建一个新的工作薄
# 新建得到的是一个工作薄对象
# 因此wb = 一个工作薄对象
# 新建时参数为空
# 新建成功后在不保存的情况下我们看不到工作薄对象
wb = openpyxl.Workbook( )# 查看wb 的类型
# wb = workbook = 一个工作薄对象
print(type(wb))# 用对象的save方法将工作薄保存在本地
# 并命名为【学生花名册1.xlsx】
# 对象.save(path)
# 学生花名册1.xlsx=./学生花名册1.xlsx
wb.save('学生花名册1.xlsx')

【终端输出】

<class 'openpyxl.workbook.workbook.Workbook'>

代码运行后,工作簿【学生花名册1.xlsx】新建成功,如下图所示:

【知识点汇总】
openpyxl 库 - Workbook 类:创建新的工作薄
openpyxl 库 - load_workbook函数:打开工作薄
工作簿对象 - save方法:保存工作薄

【代码解析】
1.先用import导入openpyxl库。

2.新建工作薄:wb = openpyxl.Workbook( )
用openpyxl库中的Workbook类新建一个工作薄对象赋值给变量wb。
wb 就表示刚才新建的工作薄对象。
上述代码对应的人工操作:

2.保存文件:wb.save('学生花名册1.xlsx')
将工作薄保存在本地,并命名为【学生花名册1.xlsx】
我觉得可以把sava理解成另存为这个动作:

【注意事项】
1、一定要有后缀名xlsx,否则电脑不知道你要新建的是什么类型的文件。
2、Workbook类 的首字母 W必须是大写。
3、工作薄新建成功后,默认自动创建1个工作表【sheet】,如下图所示:

1.2.4 openpyxl.load_workbook 打开工作薄

【准备工作】
手动打开【学生花名册1.xlsx】,然后单元格【A1】中输入【姓名】,然后关闭文件。

# 导入库
import openpyxl# 用openpyxl库的load_workbook方法打开学生花名册1.xlsx文件。
# wb = 一个工作薄对象 =workbook
wb = openpyxl.load_workbook('学生花名册1.xlsx')# 查看wb 的类型
print(type(wb))# 对象.save(path)
wb.save('学生花名册1.xlsx')
wb.save('学生花名册2.xlsx')

【终端输出】

<class 'openpyxl.workbook.workbook.Workbook'>

上述代码运行后,左侧多了一个【学生花名册2.xlsx】文件,大家手动打开两个文件,发现【学生花名册2.xlsx】文件中的【A1】单元格里也有【姓名】两个字。

wb.save(‘学生花名册1.xlsx’)与打开的xlsx文件名相同,作用就是仅起到保存的作用。
wb.save(‘学生花名册2.xlsx’)与打开的xlsx文件名不相同,这里的作用就是另存为。
path相同=保存。
path不相同=另存为。

工作中,我们打开一个工作薄,电脑会呈现出一个具体的文件,但是Python不会有具体的显示,但是会创建一个workbook对象。
必须用Python打开工作薄,我们才有操作的对象,打开的作用在后面会体现出来。
人工手动和Python打开的都是一个实际存在的对象,只是一个呈现在电脑上,肉眼可见,一个肉眼不可见。

load [ləʊd]:原意是负荷、负载,这里有载入、读取文档的意思。

openpyxl 库 - load_workbook(path)函数:打开工作薄
openpyxl.load_workbook('学生花名册1.xlsx')
用openpyxl库的load_workbook方法打开学生花名册1.xlsx文件。
方法的参数为文件的路径。

【温馨提示】
使用save保存时,请先手动关闭Excel文件,不关闭会有运行错误提示。
若是重命名,则不会有错误提示。

save [seɪv]:原文积攒、储存,网络释义为保存。
path[pɑːθ]:路径。

练习1
1)在当前文件夹里新建一个【花名册】文件夹。
2)打开【学生花名册1.xlsx】文件。
3)将【学生花名册1.xlsx】存储到【花名册】文件夹中,并命名为【学生花名册3.xlsx’】。

# 导入库
import openpyxl
import os # mkdir:新建目录=新建文件夹
# ./花名册= 花名册 ( .可以省略不写)
os.mkdir('花名册')# 打开文件
wb = openpyxl.load_workbook('学生花名册1.xlsx')
wb.save('花名册/学生花名册3.xlsx')

练习2
1)在上一级文件夹里新建一个【roster】文件夹。
2)打开【学生花名册1.xlsx】文件。
3)将【学生花名册1.xlsx】存储到【roster】文件夹中,并命名为【roster3.xlsx’】。

# 导入库
import openpyxl
import os # mkdir:新建目录=新建文件夹
# .. 表示上一级
os.mkdir('../roster')# 打开文件
wb = openpyxl.load_workbook('学生花名册1.xlsx')
wb.save('../roster/roster3.xlsx')

roster[ˈrɒstə]:花名册。

大家运行后注意观察新建文件夹的位置,进一步了解相对路径...,即同级和上一级目录的区别。

1.2.5 批量新建工作薄

任务2
在【花名册】文件夹中新建4个工作薄,分别命名为【1年级名册.xlsx】【2年级名册.xlsx】【3年级名册.xlsx】【4年级名册.xlsx】。

import openpyxl# for循环搭配range函数控制循环次数
# 通过循环来重复新建工作薄这个动作
for i in range(1,5) :# 用openpyxl 库 的Workbook 类来创建一个新的工作薄 wb = openpyxl.Workbook()# 对象.save(path)保存文件wb.save('花名册/{}年级花名册.xlsx'.format(i))

【第二种写法】

import openpyxl# for循环搭配range函数控制循环次数
# 通过循环来重复新建工作薄这个动作
for i in range(5,9) :# 用openpyxl 库 的Workbook 类来创建一个新的工作薄 wb = openpyxl.Workbook()# 对象.save(path)保存文件wb.save('花名册/%d年级花名册.xlsx'%i)

代码运行成功后,文件新建成功,如下图所示:

wb.save(‘花名册/{}年级花名册.xlsx’.format(i))
wb.save(‘花名册/%d年级花名册.xlsx’%i)
上述两句代码实现的功能是一样的,两个都是实现字符串格式化。
format相关知识参考笔记【4.14 字符串的拼接即格式化.format】
%d 的格式化知识后期会写。

【温馨提示】
某个动作是重复的,例如新建4个工作薄这个动作就是重复的,这时候我们就可以考虑用for+range 来实现。
概括为:重复的动作用for+range
例如:在爬虫中我们也是用 for+range来控制访问的网页数。

【知识回顾:range函数】
range( )函数的作用:生成一个整数序列(即列表)。
range(开始数字,结束数字,步长)

【温馨提示】
1.注意不要忘记for循环后的英文冒号:
2.参数含前不含后,意思是(1,3)含1不含3,所以输出1,2。
3.详细内容请参考【6.4 序列及range函数】。

【代码演示】

# 新建空列表用于存储for循环输出的元素i
list_0 = []
for i in range(3) :# append 为列表增加元素ilist_0.append(i)
print(list_0)list_1 = []
for i in range(1,3) :list_1.append(i)
print(list_1)

【终端输出】

[0, 1, 2]
[1, 2]

1.2.6 总结

高效办公 1.2 用Python新建Excel文件相关推荐

  1. python不能处理excel文件-python处理Excel文件

    python处理excel文件主要是第三方模块库xlrd.xlwt.xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块. ...

  2. python合并excel文件关键字_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  3. 详解Python操作Excel文件

    前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...

  4. 使用Python获取Excel文件中单元格公式的计算结果

    假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...

  5. python读取文件_一日一技:使用Python读取Excel文件

    安装xlrd模块: pip install xlrd 使用xlrd模块,可以从电子表格中检索信息. 例如,可以在Python中完成读取,写入或修改数据的操作. 另外,用户可能必须浏览各种工作表并根据某 ...

  6. python可以读取excel文档吗_python打开excel文件【python读取excel文件如何进行】

    Python语言打开Excel文件? 一.安装xlrd模 到python官网下http://pypi.python.org/pypi/xlrd模块安装,前已经安装python 环境. 二.使用介 1. ...

  7. 利用python对excel文件进行操作_数据处理-对Excel文件读取和操作和存储(python版)...

    一:利用python读取Excel中.xls文件中所有数据 #encoding=utf-8 import xlrd import xlwt from xlwt import * fileName=&q ...

  8. python 利用python处理excel文件

    python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...

  9. python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新

    项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...

最新文章

  1. python网页服务器_python编写简单网页服务器
  2. 用Kubernetes搭建Etcd集群和WebUI
  3. 贴一下目前的工作任务列表
  4. 怎么输入license_误执行了 rm fr /* 之后,除了跑路还能怎么办?!
  5. 一则故事表达:并发,并行,同步,异步,线程,多线程
  6. Linux 内核 cgroups 新漏洞可导致攻击者逃逸容器
  7. C++之lock_guard和unique_lock自动加解锁区别
  8. 【python之路11】集合数据类型(set)
  9. php 怎么判断月份最后一天_PHP基础案例三:判断学生星座
  10. CSS实现字体镂空效果、阴影效果、字体阴影效果
  11. 大学c语言题库 答案,天津城建大学C语言题库附答案.doc
  12. 华为确认53岁高管丁耘骤逝:执掌最大营收业务,东南大学毕业,在职已超26年...
  13. dataFrame(DF)将数据插入ES时报错 org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: Cannot detect E
  14. 从源码层面理解 Either、Option 和 Try
  15. Photoshop抠图(色彩范围命令扣人物/动物毛发图)
  16. 如何删除tmp计算机桌面,win10系统下tmp临时文件删除不了如何解决
  17. python玩转我的世界_PYTHON玩转我的世界——批量生成铁傀儡
  18. pdf转换成jpg python_【PDF转图片】如何将PDF转换成图片格式--Python
  19. MySQL 8 的学习——4从表中检索信息
  20. java计算机毕业设计歌唱比赛积分管理系统源码+mysql数据库+系统+lw文档+部署

热门文章

  1. 有没有好用的文字转语音软件?
  2. opencv4.1无法加载python-cnn模型,编译第三方库libtensorflow_cc.so巨坑
  3. 基于vivado实现FFT/IFFT
  4. 2022年G2电站锅炉司炉操作证考试题库及答案
  5. FME进阶视频教程: FME使用技巧之高级扇出,讲解在FME中输出数据的高级方式,满足数据个性化分类输出的需求
  6. C语言:L1-070 吃火锅 (15 分)
  7. PDF如何旋转其中一页?
  8. 哥德尔:伟大的数学家与饱受精神疾病折磨的患者
  9. full outer join应用场景
  10. 基于若依框架(前后端分离)-新写前端Vue页面