对Excel文件进行读写
相对来讲,对Excel文件读写的情况较为复杂。首先我们要使用pip install openpyxl。然后我们还得稍微熟悉一下Excel文档的基本概念
一个Excel文档也称为一个工作薄(workbook),每个工作薄里可以有多个工作表(wordsheet),当前打开的工作表又叫活动表。
每个工作表里有行和列,特定的行与列相交的方格称为单元格(cell)。比如上图第A列和第1行相交的方格我们可以直接表示为A1单元格。
import openpyxl
# 引用openpyxl
wb = openpyxl.Workbook()
# 利用openpyxl.Workbook()函数创建新的workbook(工作薄)对象,就是创建新的空的Excel文件。
sheet = wb.active
# wb.active就是获取这个工作薄的活动表,通常就是第一个工作簿,也就是我们在上面的图片中看到的sheet1。
sheet.title = '测试'
# 可以用.title给工作表重命名。现在第一个工作表的名称就会由原来默认的“sheet1”改为"测试"。
sheet['A1'] = '测试'
# 向单个单元格写入数据
score1 = ['math', 95]
sheet.append(score1)
# 写入整行的数据,变量类型是一个列表
wb.save('score.xlsx')
# 保存修改的Excel
wb.close()
# 关闭Excel`import openpyxl
# 引用openpyxl
wb = openpyxl.Workbook()
# 利用openpyxl.Workbook()函数创建新的workbook(工作薄)对象,就是创建新的空的Excel文件。
sheet = wb.active
# wb.active就是获取这个工作薄的活动表,通常就是第一个工作簿,也就是我们在上面的图片中看到的sheet1。
sheet.title = '测试'
# 可以用.title给工作表重命名。现在第一个工作表的名称就会由原来默认的“sheet1”改为"kaikeba"。
sheet['A1'] = '测试'
# 向单个单元格写入数据
score1 = ['math', 95]
sheet.append(score1)
# 写入整行的数据,变量类型是一个列表
wb.save('score.xlsx')
# 保存修改的Excel
wb.close()
# 关闭Excel`
让我来解读一些上面这段代码。首先要引用openpyxl,然后通过openpyxl.Workbook()函数就可以创建新的工作薄,紧接着我们要获取工作表,不然程序不知道对哪张工作表进行操作。
紧接着我们将这个工作表的名称改为“测试”,完成这一步后,我们就能来操作单元格,往单元格里写入内容了。
往单元格里写入内容比较简单,sheet[‘A1’] = ‘测试’ 就是向A1(根据Excel的坐标,A1代表第一列第一行相交的单元格)的单元格写入内容。
示例代码中我们是用到append方法向Excel写入一行内容,要写入多个内容只需添加一个循环即可。
最后我们要保存我们写入的内容,最后关闭这个文件,避免程序占用。