xlrd 只能读取Excel内容,如果你要 创建 一个新的Excel并 写入 数据,可以使用 openpyxl 库。 openpyxl 库既可以读文件、也可以写文件、也可以修改文件。 但是,openpyxl 库不支持老版本 Office2003 的 xls 格式的Excel文档,如果要读写xls格式的文档,可以使用 Excel 进行相应的格式转化。 下面的代码,演示了 openpyxl 的 一些基本用法。 将 保存在字典中的年龄表的内容 写入到excel文件中 如果你想 修改 已经存在的Excel 文件,也可以使用 openpyxl 库。 比如 sheet 对象的 delete_rows 和 delete_cols 方法,分别用来插入 行 和 列, 比如 单元格里面的 样式风格 (包括 颜色、字体、大小、下划线 等) 都是通过 Font 对象设定的 下面是插入图片的代码 在Windows平台上,还可以通过 Excel 应用的 COM 接口 来对Excel进行操作。 这个方法相当于使用Python程序 通过 Excel应用 自己去修改,当然没有任何的副作用。 而且能够实现一些特殊的功能,比如 自动打印Excel、合并单元格 等 使用 Excel COM 接口,首先需要安装pywin32库,在命令行窗口输入如下命令: 比如可以这样修改 运行一下可以发现Excel内容也能修改。文章目录
执行 pip install openpyxl 安装该库
import os os.system("pip3 install openpyxl")
新建Excel,写入数据
import openpyxl #创建一个Excel workbook 对象 book = openpyxl.Workbook() #创建时,会自动产生一个sheet,通过active获取 sh = book.active #修改当前 sheet 标题为 工资表 sh.title = '工资表' #保存文件 book.save('信息.xlsx') #增加一个名为 '年龄表' 的sheet,放在最后 sh1 = book.create_sheet('年龄表-最后') #增加一个 sheet,放在最前 sh2 = book.create_sheet('年龄表-最前',0) #增加一个 sheet,指定为第2个表单 sh3 = book.create_sheet('年龄表2',1) #根据名称获取某个sheet对象 sh = book['工资表'] #给第一个单元格写入内容 sh['A1'] = '你好' #获取某个单元格内容 print(sh['A1'].value) #根据行号列号, 给第一个单元格写入内容, #注意和 xlrd 不同,是从 1 开始 sh.cell(2,2).value = '白月黑羽' #根据行号列号, 获取某个单元格内容 print(sh.cell(1, 1).value) book.save('信息.xlsx')
下面的示例代码
import openpyxl name2Age = { '张飞' : 38, '赵云' : 27, '许褚' : 36, '典韦' : 38, '关羽' : 39, '黄忠' : 49, '徐晃' : 43, '马超' : 23, } #创建一个Excel workbook 对象 book = openpyxl.Workbook() #创建时,会自动产生一个sheet,通过active获取 sh = book.active sh.title = '年龄表' #写标题栏 sh['A1'] = '姓名' sh['B1'] = '年龄' #写入内容 row = 2 for name,age in name2Age.items(): sh.cell(row, 1).value = name sh.cell(row, 2).value = age row += 1 #保存文件 book.save('信息.xlsx')
修改Excel中的数据
修改单元格内容
import openpyxl # 加载 excel 文件 wb = openpyxl.load_workbook('income.xlsx') # 得到sheet对象 sheet = wb['2017'] sheet['A1'] = '修改一下' #指定不同的文件名,可以另存为别的文件 wb.save('income-1.xlsx') 插入行、插入列 sheet 对象的 insert_rows 和 insert_cols 方法,分别用来插入 行 和 列, 比如 import openpyxl wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018'] #在第2行的位置插入1行 sheet.insert_rows(2) #在第3行的位置插入3行 sheet.insert_rows(3,3) #在第2列的位置插入1列 sheet.insert_cols(2) #在第2列的位置插入3列 sheet.insert_cols(2,3) ##指定不同的文件名,可以另存为别的文件 wb.save('income-1.xlsx')
删除行、删除列
import openpyxl wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018'] #在第2行的位置删除1行 sheet.delete_rows(2) #在第3行的位置删除3行 sheet.delete_rows(3,3) #在第2列的位置删除1列 sheet.delete_cols(2) #在第3列的位置删除3列 sheet.delete_cols(3,3) ##指定不同的文件名,可以另存为别的文件 wb.save('income-1.xlsx')
文字 颜色、字体、大小
import openpyxl #导入Font对象 和 colors 颜色常量 from openpyxl.styles import Font,colors wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018'] #指定单元格字体颜色, sheet['A1'].font = Font(color=colors.RED, #使用预置的颜色常量 size=15, # 设定文字大小 bold=True, # 设定为粗体 italic=True, # 设定为斜体 name='宋体', #设置字体 underline='siingle' #设置下划线) #也可以使用RGB数字表示的颜色 sheet['B1'].font = Font(color="981818") #指定整行 字体风格, 这里指定的是第3行 font = Font(color="981818") for y in range(1, 100): # 第 1 到 100 列 sheet.cell(row=3, column=y).font = font #指定整列 字体风格, 这里指定的是第2列 font = Font(bold=True) for x in range(1, 100): # 第 1 到 100 行 sheet.cell(row=x, column=2).font = font wb.save('income-1.xlsx')
背景色
import openpyxl #导入Font对象 和 colors 颜色常量 from openpyxl.styles import PatternFill wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018'] #指定 某个单元格背景色 sheet['A1'].fill = PatternFill("solid", "E39191") #指定 整行 背景色, 这里指定的是第2行 fill = PatternFill("solid", "E39191") for y in range(1, 100): # 第 1 到 100 列 sheet.cell(row=2, column=y).fill = fill wb.save('income-1.xlsx')
插入图片
import openpyxl from openpyxl.drawing.image import Image wb = openpyxl.load_workbook('income.xlsx') sheet = wb['2018'] #在第1行,第4列 的位置插入图片 sheet.add_image(Image('1.png'), 'D1') ##指定不同的文件名,可以另存为别的文件 wb.save('income-1.xlsx')
Excel COM接口
pip install pywin32
import win32com.client excel = win32com.client.Dispatch("Excel.Application") #excel.Visible = True # 可以让excel 可见 #这里填写要修改的Excel文件的绝对路径 workbook = excel.Workbooks.Open(r"d:tmpincome1.xlsx") #得到 2017 表单 sheet = workbook.Sheets('2017') #修改表单第一行第一列单元格内容 # om接口,单元格行号、列号从1开始 sheet.Cells(1,1).Value="你好" #保存内容 workbook.Save() #关闭该Excel文件 workbook.Close() #excel进程退出 excel.Quit() #释放相关资源 sheet = None book = None excel.Quit() excel = None
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算