1. 基本语法

(1)模块导入

import openpyxl

(2)读取表格

wb = openpyxl.load_workbook('文本文件到表格.xlsx')
sheet = wb.get_active_sheet()                        #获得当前sheet表

(3)写入表格

wb = openpyxl.Workbook()             #创建一个workbook对象
sheet = wb.get_active_sheet()
sheet.title = '12.13.1.xlsx'         #创建sheet名字
wb.save( '12.13.1.xlsx')

(4)常用函数

rowmax = sheet.max_row               #当前表格最大行数
clnmax = sheet.max_column            #当前表格最大列数
from openpyxl.styles import Font          #字体修改函数
fontobj = Font(name = 'Times New Roman' , size = 24,bold = True, italic = True)     #字体名称,字号,粗体,斜体
sheet['A3'].font =fontobj
sheet.row_dimensions[1].height =70   #修改行高
sheet.column_dimensions['B'].width = 20  #修改列宽
#图表
refobj = openpyxl.chart.Reference(sheet,(1,1),(10,1))              #创建Reference对象  (表格对象,左上角起始数据,右下角结束数据位置)
seriesobj = openpyxl.chart.Series(refobj,title = 'First Series')   #创建Series对象
chartobj = openpyxl.chart.BarChart()                               #图表类型 :  .lineChart  ScatterChar  PieChart 折线图、散点图、饼图
chartobj.append(seriesobj)                                         #添加数据构成图表

2.课后习题

1. 创建乘法表

输入N,创建N*N的乘法表

import openpyxl
from openpyxl.styles import Fontwb = openpyxl.Workbook()
sheet = wb.get_active_sheet()
sheet.title = '12.13.1.xlsx'
n = int(input("创造一个N行N列的乘法表,请输入N: "))   #注意int类型!!fontobj = Font(bold = True)for i in range(1,n+1): #其中一行一列表示乘数sheet.cell(row = 1,column = i+1).value = isheet.cell(row=1, column=i + 1).font = fontobj  #第一行粗体sheet.cell(row = i+1,column = 1).value = isheet.cell(row=i + 1, column=1).font = fontobj  #第一列粗体for j in range(2,i+2):for k in range(2,i+2):sheet.cell(row = j,column = k).value = (j-1)*(k-1)sheet['A1'] = None
wb.save( '12.13.1.xlsx')

2. 空行插入程序

输入两个整数N,M,程序从第N行开始,在电子表格中插入M个空行

import openpyxl
from openpyxl.styles import Fontwb = openpyxl.Workbook()
sheet = wb.get_active_sheet()
sheet.title = '12.13.1.xlsx'
n = int(input("创造一个N行N列的乘法表,请输入N: "))   #注意int类型!!fontobj = Font(bold = True)for i in range(1,n+1): #其中一行一列表示乘数sheet.cell(row = 1,column = i+1).value = isheet.cell(row=1, column=i + 1).font = fontobj  #第一行粗体sheet.cell(row = i+1,column = 1).value = isheet.cell(row=i + 1, column=1).font = fontobj  #第一列粗体for j in range(2,i+2):for k in range(2,i+2):sheet.cell(row = j,column = k).value = (j-1)*(k-1)sheet['A1'] = None
wb.save( '12.13.1.xlsx')

3. 电子表格翻转程序

将电子表格中所有行列翻转,如第5行3列→第3行第5列

(思想:利用嵌套for循环将每个单元格的数据读入一个二维列表)

import openpyxlwb = openpyxl.load_workbook('12.13.2.xlsx')
sheet1 = wb.get_active_sheet()
nb = openpyxl.Workbook()
sheet2 = nb.get_active_sheet()rowmax = sheet1.max_row
clmmax = sheet1.max_column#二维列表创建方法
sheetdata = [[0 for col in range(clmmax)] for row in range(rowmax)]   #创建二位列表存储原数据
for i in range(1,rowmax+1):for j in range(1,clmmax+1):sheetdata[i-1][j-1] = sheet1.cell(row = i, column = j).valuesheet2.cell(row = j, column = i).value = sheetdata[i-1][j-1]nb.save('12.13.3 单元格翻转.xlsx')#附二位列表初始化方法2
# nums = []
# rows = eval(input("请输入行数:"))
# columns = eval(input("请输入列数:"))
#
# for row in range(rows):
#     nums.append([])
#     for column in range(columns):
#         num = eval(input("请输入数字:"))
#         nums[row].append(num)
# print(nums)

4. 文本文件到表格

读入几个文本中的文件,将这些内容插入到一个Excel中,每一列表示一个文件,每一行表示一个文件的一行文本内容,如第一个文件共五行,应占据表格第一列的前五行,第二个文件共两行,应占据表格第二列的前两行

import openpyxl
import ostxtfiles = []    #找到当前目录所有的txt文件
for txt in os.listdir('.'):if txt.endswith('.txt'):txtfiles.append(txt)wb = openpyxl.Workbook()
sheet = wb.get_active_sheet()j=1
for file in txtfiles:txt = open(file,'r')i = 1                                #第二列从第一行重新开始for line in txt.readlines():sheet.cell(row = i,column =j ).value = linei += 1j += 1wb.save('文本文件到表格.xlsx')

5. 电子表格到文件

和前一个程序相反,将第一列的内容写入一个文件,将第二列的内容写入一个文件

import openpyxlwb = openpyxl.load_workbook('文本文件到表格.xlsx')
sheet = wb.get_active_sheet()rowmax = sheet.max_row
clnmax = sheet.max_columnfor i in range(1,clnmax+1):f = open('file'+str(i)+'txt','w')   #创建新的txt文件for j in range(1,rowmax+1):content = sheet.cell(row = j ,column = i).valueif content != None:          #一定要记得 判断 内容 是否为空!!f.write(content)f.close()

Python让繁琐工作自动化——chapter12 处理Excel电子表格相关推荐

  1. python—让繁琐工作自动化

    python,在占领国一段时间的朋友圈,是关于编程的东西.大都是是扫码进入学习群之类的东西.只是不知道哪些当时刷圈的小伙伴们学的怎么样了,大致也有一两个月的时间. 为什么提起这个,因为最近也看到一些p ...

  2. python自动化办公入门书籍推荐-好书推荐 | Python 如此神奇,让繁琐工作自动化...

    原标题:好书推荐 | Python 如此神奇,让繁琐工作自动化 Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart ...

  3. python 复制文件并重命名_好书推荐 | Python 如此神奇,让繁琐工作自动化

    优质文章,第一时间送达! Python 如此神奇,让繁琐工作自动化 编程的威力 如今,人们面临的大多数任务都可以通过编写计算机软件来完成. Al Sweigart 的室友曾经只花了几个小时,就写出了一 ...

  4. Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

    一.前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 今天给 ...

  5. python编程快速上手 让繁琐工作自动化 豆瓣_2019年,这些豆瓣评分9.0以上的8本程序员好书你都知道吗?...

    豆瓣这些9.0以上的高评分程序员好书你都知道有哪些吗?小编去豆瓣看了一下,推荐这8本最适用的程序员好书给你. 1.UNIX环境高级编程(第3版)(豆瓣评分9.6)UNIX编程圣经 与Linux相结合的 ...

  6. python编程快速上手自动化_《Python编程快速上手 让繁琐工作自动化》完整版PDF...

    image.png <Python编程快速上手 让繁琐工作自动化>完整版PDF 提取码:7qm4 3.jpg 有关本书 累计销售超过10万册 零基础编程者的不二之选 基于Python3编写 ...

  7. python自动化办公入门书籍-Python如此神奇,让繁琐工作自动化 (文中含Python基础)...

    原标题:Python如此神奇,让繁琐工作自动化 (文中含Python基础) "你在2个小时里完成的事,我们3个人要做两天."21世纪早期,我的大学室友在一个电子产品零售商店工作.商 ...

  8. python经典书记必读:Python编程快速上手 让繁琐工作自动化

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/69/ 来源:python黑洞网,专注 ...

  9. Python编程快速上手,让繁琐工作自动化

    大家好,我是辰哥(文末送书) 自学编程是不少人的选择,在著名的软件开发领域问答网站stackoverflow上,直接搜索learn programming可以得到47000多个回答,教我们如何学习某种 ...

  10. Python编程快速上手,让繁琐工作自动化(附下载)

    今天给大家分享一份Python程序员的圣经--<Python编程快速上手:让繁琐工作自动化>.这是本面向实践的Python编程实用指南. 目录 第一章 Python基础 第二章 控制流 第 ...

最新文章

  1. 记一些大型项目中所作的规划
  2. IE6 式样表 Bug
  3. C#中使用SendMessage进行进程通信,可发送字符串,结构体(不能发送类类型)。
  4. JAVA进阶教学之(源码及API文档概述)
  5. 简述arm linux内核启动流程,Linux内核启动过程和Bootloader(总述)
  6. php注册变量函数,PHP变量函数
  7. Spring Boot 注解描述
  8. SpringBoot Field aFeign in xxxx required a bean of type 'xxx' that could not be found.
  9. 电脑的Windows图片查看器找不到怎么办
  10. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
  11. cuda cudnn tensorflow对应_Cuda 的安装步骤
  12. apache主要目录、配置文件详解
  13. 数字图像处理01:imadjust函数的Pyhton实现
  14. 用Halo搭建个人博客
  15. 高德WMTS图层 调用天地图瓦片地图
  16. 警惕!又一起网络钓鱼攻击事件:Uniswap被盗810万美元
  17. 互联网快讯:阿里云发布第四代神龙架构;微信支付正式推出品牌视频号;猿辅导加速布局素质教育
  18. 打开方式中选择默认方式无反映_「全民标签」论享声A1的APP打开方式以及与树莓派的使用对比...
  19. 使用python实现3d卷积
  20. python创建工作簿_创建工作簿、工作表和写入单元格

热门文章

  1. 3D目标检测论文汇总
  2. LeetCode之寻找峰值
  3. 提交表单的时候会出现提交两次的问题
  4. JS实现图片无缝滚动特效;附addEventListener()方法、offsetLeft和offsetWidth属性。
  5. 湖南附中模拟day1 瞭望塔
  6. [Ogre][地形][原创]基于OgreTerrain的地形实现
  7. 【原创】纯CSS 仿U9论坛 箭形导航栏 兼容IE6+IE7+FF
  8. 微软软件开发技术二十年回顾(MFC篇)
  9. 转载 Microsoft .NET Pet Shop 4 架构与技术分析
  10. 【Android学习笔记】【Android开发环境搭建】安装JDK