Python操作Excel基础

本节利用包openpyxl,实现Excel文件的读取、写入,以及创建Excel文件的基础操作。

操作逻辑

首先,生成一个Workbook对象,这个对象相当于是一个在内存中的Excel文件,它可以包含多个表单。Workbook对象既可以通过读取一个Excel文件来创建,也可以直接在内存中创建。它们的实现代码分别是:

#读取一个Excel文件
workbook = load_workbook('文件路径')
#在内存中创建Excel文件
workbook_write = Workbook() 

然后,在Workbook对象中生成表单对象,表单对象也同样读取Workbook对象中已包含的表单或创建表单。它们实现的代码分别是:

#读取一个表单
sheet = workbook.get_sheet_by_name('表单名称')
#创建一个表单
sheet = workbook_write.active

对表单的操作完成后,可以将Workbook对象保存本地硬盘的Excel文件中,该文件可以是已有的文件(覆盖),也可以是新创建的文件。写入的代码是:

workbook.save('文件路径')

1.导入openpyxl包

from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter

2.加载Excel文件

相当于双击Excel文件并打开。我们以打开F盘根目录下的“红楼梦自动提词结果.xlsx”为例。

excel_file_path = "F:红楼梦自动提词结果.xlsx"
workbook = load_workbook(excel_file_path)

如果有想学习python的程序员,可来我的python学习扣qun:711944363,免费送python的视频教程噢!我每晚上8点还会在群内直播讲解python知识,欢迎大家前来学习。

 

3.获取Excel表单信息(相当于查看Excel所有表单的列表)

相当于查看Excel里的表单列表。在这个Excel文件中有两个表单,分别为“WORD”和“GROUP”

Python操作Excel基础(1)

sheetnames = workbook.get_sheet_names() #获得表单名字列表
print(sheetnames)

结果

['WORD', 'GROUP']

4.读取Excel表单内容

相当于查看Excel里的表单的内容。样例Excel的第一个表单WORD中前20行的内容如下:

Python操作Excel基础(1)

sheet = workbook.get_sheet_by_name(sheetnames[0]) #打开Excel的第1个表格
print('读取第1行-第5行中第一列的内容:')
for i in range(1,5):
 print(sheet.cell(row=i,column=1).value)
print('第2行的全部内容:')
for cell in sheet["2"]:
 print(cell.value)

结果

第1行-第5行的内容:
STRING
菩萨
琥珀
玻璃
第2行的全部内容:
菩萨
26
20948.236
3.2188885
3.6280146
14.287398
None
None
None

5.修改Excel表格内容

通过下面的代码将Excel中单元格B2内的数值修改为10000,并将Excel文件保存到刚才的位置。

sheet['B2'] = 10000
workbook.save("F:红楼梦自动提词结果.xlsx") #保存Excel文件

修改之后的Excel文件内容如下:

Python操作Excel基础(1)

6.创建Excel文件

通过下面的代码,在F盘的根目录下创建一个名叫“Test.xlsx”的Excel文件,它只有一个表单,表单的A1单元格内为文本“测试信息”,A2单元格内为数字135。

workbook_write = Workbook() #创建Excel
sheet_write = workbook_write.active #创建sheet
sheet_write['A1'] = '测试信息'
sheet_write['A2'] = 135
workbook_write.save("F:Test.xlsx") #将Excel写出到文件

创建之后的Test.xlsx文件下内容如下:

Python操作Excel基础(1)

猜你喜欢

转载自blog.csdn.net/w17688977481/article/details/88805092