openpyxl库实现对excel文档进行编辑(追加写入)

Posted becks

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openpyxl库实现对excel文档进行编辑(追加写入)相关的知识,希望对你有一定的参考价值。

首先,这个库只支持xlsx格式的excel文件

预期,对”excel_test.xlsx“的A1单元格写入”hello word“

技术图片

 

1、安装”openpyxl“库,pip install openpyxl

2、导入openpyxl库

import openpyxl

3、读取excel文件

xfile = openpyxl.load_workbook(path+excel_test.xlsx)

4、获取需要写入的”Sheet“名称,案例里的sheet名为”Sheet1“

sheet = xfile.get_sheet_by_name(Sheet1)

5、向指定单元格写入指定数据

sheet[A1] = hello world

6、保存操作

xfile.save(path+excel_test.xlsx)

效果

技术图片

技术图片

 

全部脚本

#本脚本实现,对已存在excel文件数据写入

import openpyxl
import os
import sys

path = os.path.abspath(os.path.dirname(sys.argv[0]))

xfile = openpyxl.load_workbook(path+excel_test.xlsx)
sheet = xfile.get_sheet_by_name(Sheet1)
sheet[A1] = hello world
xfile.save(path+excel_test.xlsx)

 

当然,也可以实现对某一列的数据依次写入指定的数据

 完整代码

#本脚本实现,对已存在excel文件数据写入
# -*- coding: UTF-8 -*-

import openpyxl
import os
import sys

path = os.path.abspath(os.path.dirname(sys.argv[0]))

xfile = openpyxl.load_workbook(path+excel_test.xlsx)#加载文件
sheet1 = xfile.worksheets[0]
 
L = [张三, 李四, 王五]
#excel中单元格为B3开始,即第2列,第3行
for i in range(len(L)):
    sheet1.cell(i+3, 2).value=L[i]
#保存数据,如果提示权限错误,需要关闭打开的excel
xfile.save(path+excel_test.xlsx)

执行代码后的效果

技术图片

 

 

 

以上是关于openpyxl库实现对excel文档进行编辑(追加写入)的主要内容,如果未能解决你的问题,请参考以下文章

Python openpyxl使用教程

Python使用openpyxl库修改和合并Excel文档

Python自动化之Excel

openpyxl模块(excel操作)

openpyxl操作excel

如何用Python合并excel表中的重复内容