'''
Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet。
sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
cell: 单元格,存储数据对象
''' import openpyxl
from openpyxl import Workbook, load_workbook wb = Workbook()
ws1 = wb.active # active方法得到第一个sheet
ws2 = wb.create_sheet('MySheet1') # 插入到最后default
ws3 = wb.create_sheet('MySheet3', 2) # 插入到制定位置,0表示最前面 ws1.title = 'newSheet1' # 创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称
ws4 = wb.create_sheet(title='Sheet4')
ws4.sheet_properties.tabColor = "1072BA"
# 默认的sheet的tab是白色的,可以通过 RRGGBB颜色来修改sheet_properties.tabColor属性从而修改sheet tab按钮的颜色:
# 当你设置了sheet的名称,可以将其看成workbook中的一个key。也可以使用openpyxl.workbook.Workbook.get_sheet_by_name() 方法 # 单元格赋值,3种方式
ws4.cell(row=2, column=3, value=100)
ws4.cell(row=2, column=4).value = 200
ws4['E2'] = 300 ws4.cell(3, 3, 666) # ws.append(iterable)
# 添加一行到当前sheet的最底部(即逐行追加从第一行开始) iterable必须是list,tuple,dict,range,generator类型的。 1,如果是list,将list从头到尾顺序添加。 2,如果是dict,按照相应的键添加相应的键值
# ws.append([‘This is A1’, ‘This is B1’, ‘This is C1’])
# ws.append({‘A’: ‘This is A1’, ‘C’: ‘This is C1’})
# ws.append({1: ‘This is A1’, 3: ‘This is C1’}) tableTitle = ['age' , 'name' , 'sex'] line1 = ['18', 'John', 'M']
line2 = ['20', 'Helen', 'F'] for col in range(len(tableTitle)):
c = col + 1
ws1.cell(row=1, column=c).value = tableTitle[col] excel1 = load_workbook('E:/test01.xlsx')
excel2 = load_workbook('E:/test02.xlsx')
# print(excel1.sheetnames)
sheetname1 = excel1.sheetnames[-1]
sheetname2 = excel2.sheetnames[-1] # t1 = excel1[sheetname1]
t1 = excel1['sheetl']
t2 = excel2[sheetname2] t1['D2'] = 'hello' for i in range(10):
t1["C%d" % (i+1)].value = i + 1 t1['E1'].value = "=SUM(C7:C8)" t1.append(line1)
t1.append(line2) print(t1['E1'].value)
excel1.save('E:/new01.xlsx') # print("A列:", t1['A'])
# print("1行:", t1['1'])
# print("B6格的值:", t1['B6'].value)
# print("A4格的值:", t1.cell(row=4, column=1).value) # 可简写为 t1.cell(4,1).value
#
# 需写入的表,再打开的状态下是不能成功执行代码的 # 先用load_workbook读取一个excel,修改之后save成原来的文件,会报错:PermissionError: [Errno 13] # print("最大行数:", t1.max_row)
# print("最大列数:", t1.max_column)
# print("最小列数:", t1.min_column)
# print("\n")
# print("B列的值为:")
# for i in t1['B']:
# print(i.value, end='\n') print("\n")
print("表格内容如下:")
for r in range(t1.max_row):
r += 1
for c in range(t1.max_column):
c += 1
print(t1.cell(r, c).value, end="\t") # 使用end实现不换行输出
print("\n") # for row in t1.iter_rows(min_col=1, min_row=1, max_col=3, max_row=3, values_only=True):
# for cell in row:
# print(cell, end='\n')

Python使用openpyxl模块操作Excel表格的更多相关文章

  1. 使用xlsxwriter模块和xlrd模块操作Excel表格

    1.xlsxwriter模块介绍:主要用来生成excel表格,插入数据.插入图标等表格操作 如下代码:目的是往demo01.xlsx插入数据和图片 # 导入xlsxwriter模块:主要用来修改表格的 ...

  2. Python使用xlwt模块 操作Excel文件

    导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

  3. 利用openpyxl模块处理excel表格

    一.选取表格中的内容创建图表 1.openpyxl支持利用工作表中单元格的数据,创建条形图.折线图.散点图等.步骤如下: 1).从一个矩形区域选择的单元格,创建一个Reference对象. 2).通过 ...

  4. 使用openpyxl模块将Excel中的数据导入数据库

    这里将不介绍openpyxl模块的详细操作. 主要就是记录一个使用openpyxl模块将Excel表格的数据导入数据库中的实例. from openpyxl import load_workbook ...

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  7. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  8. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  9. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

随机推荐

  1. Commons-Beanutils利用链分析

    前言 本篇开始介绍 commons-beanutils 利用链,注意Commons-Beanutils 不是Commons-Collections 不要看混了,首先来看一下,什么是 commons-b ...

  2. .NET 6 预览版 7 发布——最后一个预览版

    原文:bit.ly/2VJxjxQ 作者:Richard 翻译:精致码农-王亮 说明:文中有大量的超链接,这些链接在公众号文章中被自动剔除,一部分包含超链接列表的小段落被我删减了,如果你对此感兴趣,请 ...

  3. Java面向对象09——super

    Super  main ​ package oop.demon01.demon05; ​ public class Application {     public static void main( ...

  4. 985硕艰难转行Android之路 加面经分享

    个人情况介绍 本人为某末流985工科硕士,说来令人感慨,我的考研之路异常曲折,每次都觉得自己能十拿九稳,结果每次都阴差阳错,失之交臂,第一次因为那年目标院校大幅度提升初试线,导致差一分未过线,第二次换 ...

  5. 606页Android最新面试题含答案,助力成为offer收割机

    如何才能通过一线互联网公司面试?相信这是很多人的疑惑,希望看完本篇文章能给大家一些启发. 下面是我花了将近一个月的时间整理的一份面试题库.这些面试题,包括我本人自己去面试遇到的,还有其他人员去面试遇到 ...

  6. 4.10 Python3 进阶 - 迭代器 & 生成器

    >>返回主目录 源码 from typing import Iterable, Iterator # 可迭代对象:字符串.列表.元组.字典.集合.range().enumerate()等 ...

  7. matlab快速入门

    matlab快速入门 1矩阵 生成矩阵 ​ % 直接法 a = [1,2,3;4,5,6;7,8,9]; % 冒号一维矩阵 a = 开始:步长:结束,步长为1可省略 b = 1:1:10; % 1,2 ...

  8. 用Ultraedit调试tk程序

    tk没有自己的编译环境,Ultraedit中仅3步就可以打造一个tk调试环境: 1. 为UE添加tcl/tk语法高亮支持:从UE的网站上下载tcl/tk的wordfile: 2. 添加编译命令到菜单中 ...

  9. Azure Bicep 开发利器

    Bicep 是一种用于声明式部署Azure资源的领域特定语言.它的目标是通过更清晰的语法.改进的类型安全性.以及对模块化和代码重用的更好支持,彻底简化编写体验. Bicep 其实是对 ARM 模板的透 ...

  10. Python - typing 模块 —— Callable

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...