python 文件处理(三):Excel相关操作 之 新建Excel文件与数据录入

本文介绍了如何使用Python的openpyxl库创建新的工作簿和工作表,包括设置工作表名称、添加新工作表,并详细展示了数据录入过程,如单元格赋值和合并单元格。同时,给出了完整的代码示例,帮助读者掌握Excel操作技巧。
摘要由CSDN通过智能技术生成

        引入:上一节我们讲到了怎么在已知的workbook中查询到我们想要的单元格的值,这一节我们将讲述如何新建一个空白的workbook、worksheet以及如何将数据录入其中。

一、创建一个空白的工作簿和工作表

1.1创建新的工作簿workbook

openpyxl.Workbook(name) 或 openpyxl.Workbook()

        首先要提醒一点的是,别忘了Workbook 的“W”大写哦!!

        openpyxl.Workbook()函数中,若传入参数name,那么这个新建的workbook就被命名为name对应的值了。不过我日常用的时候很少选择传入参数,原因如下:虽然这个函数的意义是新建一个空白工作簿,但是运行这个函数并不会立刻在你的电脑上创建一个Excel表格(毕竟你也没告诉他创建以后保存的路径嘛),完整地创建一个工作簿的步骤应该在后面跟上一个save函数,将你新建的这个工作簿保存到对应路径。回想第一节讲过的文件路径(不记得没关系,看这里),路径里包含了这个文件的名字,所以我们在用save函数保存的时候自然就会给这个新工作簿命名【save函数的作用和正常写文档哪个“保存”按钮一样的】。有地方看不懂没关系,后面会一直用到滴~ 看看例子就懂了哈,这边先给一个创建新工作簿的语句:

import openpyxl

newWb = openpyxl.Workbook()

1.2创建新的worksheet

获取新workbook的worksheet

       注意:每个新建的workbook中自带一个worksheet,无需新建,想要多个worksheet需新建。

       获取这个自带的worksheet只需要一个简单的语句即可完成  

sheet_1 = newWb['Sheet']  #newWb代指刚刚新建的workbook

       注意两点:一、这里中括号传入的参数'Sheet‘是具体的固定值,不是泛指,不能是别的名字。 二、Sheet的S要大写!!!

        上一篇中应该也提到过,worksheet其实可以看做是workbook对象中的一个成员,因此获取worksheet就很简单了。要注意的是,新建一个workbook之后,工作簿中只有一个工作表,这个工作表的名字叫‘Sheet’(看下面这段代码就知道啦),所以理解为什么newWb['sheet'] 中括号里是Sheet而不是别的了吧。

import os
import openpyxl

os.chdir("D:\Python Code\阿巴阿巴")
newWb = openpyxl.Workbook()
newWb.save("D:\Python Code\阿巴阿巴\一个新的工作簿.xlsx")
wb = openpyxl.load_workbook('一个新的工作簿.xlsx')
print(wb.sheetnames)  #输出  ['Sheet'],表示新wb中ws的名字是Sheet

设置worksheet工作表的名字,以及新建新的工作表

        首先,设置worksheet的名字(worksheet也是一个对象,有个成员名叫title):

sheet_1.title = '1st_sheet'

        接着,创建新的工作表newWb.creat_sheet(新工作表的名字),也可以不传入参数,不过最好还是有,不然到时候自己都不知道哪个sheet叫啥名字:

newWb.creat_sheet('2rd_sheet')

OK,下面就是一个从新建workbook到worksheet到改名,保存乱七八糟一套完整的流程:

import os
import openpyxl

os.chdir("D:\Python Code\阿巴阿巴")
newWb = openpyxl.Workbook()
sheet_1 = newWb['Sheet']    #获取第一个worksheet
sheet_1.title = '1st_sheet' #对worksheet改名
newWb.create_sheet('2rd_sheet')  #创建一个新的工作表
newWb.save("D:\Python Code\阿巴阿巴\一个新的工作簿.xlsx")
wb = openpyxl.load_workbook('一个新的工作簿.xlsx')
print(wb.sheetnames)        #输出['1st_sheet', '2rd_sheet']

二、数据录入

单元格数据输入

         前面讲查询单元格数据的时候,小伙伴们应该就能想到,既然读取数据是sheet['A1'].value,那么直接把需要输入的数据赋值给sheet['A1'].value不就好了嘛。没错,就这么简单哈哈哈哈哈哈。录入数据结束记得save哦!

sheet['A1'].value = '阿巴阿巴'  #吧A1单元格赋值为 阿巴阿巴

这里再补充一个小功能

合并单元格

        注意哦,比如我把A1和B1合并了,那么往这个合并过的单元格录入数据的时候,索引应该是‘A1’哦!

栗子:

sheet.merge_cells('A1:B1')     #合并A1至B1 的单元格
sheet['A1'].value = '阿巴阿巴'  

三、打开表格

        这里的打开不是指在程序里的打开,而是像我们正常双击打开显示整个表格的那个打开!!

        用到的语句是:

os.system(file_path)

举个例子,这是我在一个课程设计中的一小段代码,作用就是自动打开某个Excel文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三头猪等于一头大猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值