'''
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. 单片机学习(一)项目的建立和vscode代码编辑环境的设置

    目录 Keil项目的建立 使用vscode进行开发 工欲善其事必先利其器,因此我们先搭建一个比较舒服的开发环境. Keil项目的建立 打开Keil软件点击Project/New uVision Pro ...

  2. PTui又加全景图 佳田未来城 of 安阳

    今天我又拍了张360°无死角全景,因为我发现这种照片非常具有纪念意义,一个全景能胜过一千张照片. 我上一次的全景的地址:http://www.dushangself.site/dslab/?id=8 ...

  3. IP地址,InetAddress类的使用

    IP地址 IP地址:InetAddress(没有构造器,通过静态方法返回) java.net包下 唯一定位一台网络上的计算机 127.0.0.1:本机localhost ip地址的分类 IPV4/IP ...

  4. linux c语言学习笔记之守护进程

    哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处 http://blog.csdn.net/woshixingaaa/archive/2010/06/06/5651095.aspx 守 ...

  5. JacksonUtils

    package com.intfish.resourceserver.util; import com.fasterxml.jackson.annotation.JsonInclude; import ...

  6. 【动态规划】树形DP完全详解!

    蒟蒻大佬时隔三个月更新了!!拍手拍手 而且是更新了几篇关于DP的文章(RioTian狂喜) 现在赶紧学习和复习一下树形DP.... 树形DP基础:Here,CF上部分树形DP练习题:Here \[QA ...

  7. centos7上安装redis6-0-5

    下载tar包 wget http://download.redis.io/releases/redis-6.0.5.tar.gz 解压tar包 tar -zxvf redis-6.0.5.tar.gz ...

  8. MySQL主从复制与Atlas读写分离

    配置主从复制 1. 增加主从配置 # 主库配置文件 server-id = 1 log-bin = /var/lib/mysql/mysql-bin expire_logs_days = 10 ski ...

  9. js继承函数封装

    function extend(subClass,superClass) { //初始化一个中间空对象,为了转换主父类关系 var F = function() {}; F.prototype = s ...

  10. Windows下NodeJS安装与npm环境变量配置

    node.js下载:https://nodejs.org/en/download/ 参考:https://www.jianshu.com/p/812de13f1276 1.安装过程基本直接" ...