Python办公自动化_Excel篇

库名 作用
xlrd 从excel中读取数据,支持xls,xlsx
xlwt 从excel进行修改操作,不支持对xlsx格式的修改
xlutils 在xlrd和xlwt中,对一个已存在的文件进行修改
openpyxl 主要针对xlsx格式的excel进行读取和编辑
pandas 可对csv进行操作,主要用于大数据分析

安装

安装
1.按 win + R ,输入CMD确定
2.输入 pip install openpyxl
卸载
pip uninstall openpyxl

工作簿

属性 作用
active 获取当前活跃的Worksheet
worksheets 以列表的形式返回所有的Worksheet(表格)
data_only 默认为False,为True时只读取数据不显示公式
read_only 判断是否以read_only模式打开Excel文档
encoding 获取文档的字符集编码
properties 获取文档的元数据,如标题,创建者,创建日期等
sheetnames 获取工作簿中的表(列表)
方法 作用
工作簿.sheetnames 获取所有表格的名称
工作簿['工作表名'] 通过表格名称获取Worksheet对象
工作簿.active 获取活跃的表格
remove 删除一个工作表对象【对象】
create_sheet 创建一个空的表格【表名】
copy_worksheet 在Workbook内拷贝表格【对象】

练习

新建100张工作表
import openpyxl as vb
路径 = r'c:/测试.xlsx'
工作簿 = vb.Workbook(路径) # 打开工作簿
for i in range(1,101):
工作簿.create_sheet(str(i) + '月')
工作簿.save(路径)
除了9月份的工作表以外都删除
import openpyxl as vb
路径 = r'c:/测试.xlsx'
工作簿 = vb.load_workbook(路径) # 打开工作簿
显示所有工作表 = 工作簿.worksheets
for 工作表 in 显示所有工作表:
if 工作表.title != '9月':
工作表 = 工作簿[工作表.title]
工作簿.remove(工作表)
工作簿.save(路径)
批量修改工作表的名称
import openpyxl as vb
路径 = r'c:/模板.xlsx'
工作簿 = vb.load_workbook(路径)
显示所有工作表 = 工作簿.worksheets
for 工作表 in 显示所有工作表:
工作表.title = '北京' + 工作表.title
工作簿.save(路径)
获取一个单元格的值
import openpyxl as vb
路径 = r'c:/测试.xlsx'
工作簿 = vb.load_workbook(路径)
工作表 = 工作簿['Sheet1']
单元格 = 工作表['A1'].value
print(单元格)
获取第二列 1,3,5,7行的数据
import openpyxl as vb
路径 = r'c:/测试.xlsx'
工作簿 = vb.load_workbook(路径)
工作表 = 工作簿['Sheet1']
for i in range(1,8,2):
print(i,工作表.cell(row=i,column=2).value)
获取每一行,每一列
import openpyxl as vb
路径 = r'c:/测试.xlsx'
工作簿 = vb.load_workbook(路径)
工作表 = 工作簿['Sheet1']
# 因为按行,所以返回A1, B1, C1这样的顺序
for 行 in 工作表.rows:
for 单元格 in 行:
print(单元格.value)
# A1, A2, A3这样的顺序
for 列 in 工作表.columns:
for 单元格 in 列:
print(单元格.value)
读取excel表的所有
from openpyxl import load_workbook
import os
import sys sys.path.append("..") class TestExcel(): def get_TestExcel(self, file_name, sheet_name):
print("======", os.getcwd())
# workbook = load_workbook('Datas.xlsx')#打开表
# sheet = workbook['jack']#定位表单
workbook = load_workbook(file_name) # 打开表
sheet = workbook[sheet_name] # 定位表单 test_data = [] # 把所有行的数据放到列表中 for i in range(2, sheet.max_row + 1):
sub_data = {} # 把每行的数据放到字典中
for j in range(1, sheet.max_column + 1):
sub_data[sheet.cell(1, j).value] = sheet.cell(i, j).value test_data.append(sub_data) # 拼接每行单元格的数据 return test_data if __name__ == "__main__":
te = TestExcel()
txt = te.get_TestExcel("../data/Datas.xlsx", "pro")

Python办公自动化_Excel篇的更多相关文章

  1. 最全总结 | 聊聊 Python 办公自动化之 Excel(上)

    1. 前言 在我们日常工作中,经常会使用 Word.Excel.PPT.PDF 等办公软件 但是,经常会遇到一些重复繁琐的事情,这时候手工操作显得效率极其低下:通过 Python 实现办公自动化变的很 ...

  2. 最全总结 | 聊聊 Python 办公自动化之 Excel(中)

    1. 前言 上一篇文章中,我们聊到使用 xlrd.xlwt.xlutils 这一组合操作 Excel 的方法 最全总结 | 聊聊 Python 办公自动化之 Excel(上) ​本篇文章将继续聊另外一 ...

  3. 最全总结 | 聊聊 Python 办公自动化之 Excel(下)

    1. 前言 前面谈到 Python 处理 Excel 文件最常见的两种方式,即:xlrd/xlwt.openpyxl ​其中, xlrd/xlwt 这一组合,xlrd 可以负责读取数据,而 xlwt ...

  4. 最全总结 | 聊聊 Python 办公自动化之 Word(上)

    1. 前言 日常自动化办公中,使用 Python 真的能做到事半功倍! 在上一个系列中,我们对 Python 操作 Excel 进行了一次全面总结 最全总结 | 聊聊 Python 办公自动化之 Ex ...

  5. 最全总结 | 聊聊 Python 办公自动化之 Word(中)

    1. 前言 上一篇文章,对 Word 写入数据的一些常见操作进行了总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 相比写入数据,读取数据同样很实用! 本篇文章,将谈谈如何全面读取 ...

  6. 最全总结 | 聊聊 Python 办公自动化之 Word(下)

    1. 前言 关于 Word 文档的读写,前面两篇文章分别进行了一次全面的总结 最全总结 | 聊聊 Python 办公自动化之 Word(上) 最全总结 | 聊聊 Python 办公自动化之 Word( ...

  7. 最全总结 | 聊聊 Python 办公自动化之 PDF(上)

    1. 前言 自动化办公,非 Python 莫属! 从本篇文章开始,我们继续聊聊自动化办公中另外一个常用系列:PPT 2. 准备一下 Python 操作 PPT 最强大的依赖库是:python-pptx ...

  8. 最全总结 | 聊聊 Python 办公自动化之 PPT(中)

    1. 前言 上一篇文章简单地介绍了 PPT 的文档结构,并使用 python-pptx 这个依赖库完成对 PPT 文档最基本的操作 最全总结 | 聊聊 Python 办公自动化之 PPT(上) 作为 ...

  9. python办公自动化系列之金蝶K3自动登录(二)

    接上一篇博文python办公自动化系列之金蝶K3自动登录(一),我们接着聊聊利用python脚本实现金蝶K3 Wise客户端自动登录这一需求. 如上图所示,自动选择[组织机构]后,我们还需要驱动[当前 ...

  10. python办公自动化系列之金蝶K3(三)

    小爬在之前的两篇文章 [python办公自动化系列之金蝶K3自动登录(一)].[python办公自动化系列之金蝶K3自动登录(二)]带大家系统搞定了K3客户端的自动登录难题,但是搞定[自动登录]只是我 ...

随机推荐

  1. Linux中修改文件权限方法

    在此记录一下,看到的一篇写的比较好的帮我解决问题的文章 这里也补充一下,如果要修改当前目录下的所有文件时,文件名用 * 代替,如:chmod 755 *(即可修改当前文件下所有文件的权限为:-rwxr ...

  2. 拓展欧几里得 edgcd 模板+简易推论

    LL exgcd(LL a,LL b, LL &x, LL &y) { if(b == 0) { x=1,y=0; return a; } LL d = exgcd(b, a%b, x ...

  3. FHQ_Treap学习笔记

    前置芝士(了解即可啦~):C++.BST 二叉搜索树.堆.二叉堆 Treap 的概念 Treap 树堆,即树(Tree)+堆(Heap),是一棵弱平衡的二叉搜索树(BST),能同时满足二叉搜索树与堆的 ...

  4. 零基础快速上手STM32开发(手把手保姆级教程)

    零基础快速上手STM32开发(手把手保姆级教程) 1. 前言 作为一名嵌入式工程师,STM32 是必须要学习的一款单片机,同时这款单片机资料足够多,而且比较简单,非常适合初学者入门. STM32 是一 ...

  5. In 查询及其优化

      translator Afrikaans Albanian - shqipe Arabic - ‎‫العربية‬‎ Armenian - Հայերէն Azerbaijani - azərb ...

  6. 一个NET8 AOT编译的辅助项目,让你的任何可执行应用快速部署为服务

    不知道大家有没有和小编一样,很多时候想将自己的一些应用转为服务运行,比如一些控制台应用或者.NET Core应用,但是又不想重新编码,把他们转为服务,本文将给大家提供些我使用过的方法,并提供一个基于N ...

  7. STM32外设:信号转换器 ADC、DAC

    主要外设: ADC:Analog to Digital Converter 模数转换器 DAC:Digital to Analog Converter 数模转换器 ADC_IN` 主要功能:测外部引脚 ...

  8. 《深入理解 FFmpeg》第一章彩色插图汇总

    layout: post title: "<深入理解 FFmpeg>第一章彩色插图" tags: - "FFmpeg" 这是<深入理解 FFm ...

  9. 累加器Adder

    ① java8引⼊的,相⽐较是⼀个⽐较新的类 ② ⾼并发下LogAdder⽐AtomicLog效率⾼,不过本质是空间换时间 ③ 竞争激烈的时候,LongAdder把不同线程对应到不同的Cell上进⾏修 ...

  10. 汽车制造业PMC组态应用最佳实践

    01 案例及行业介绍 汽车制造工业是我国国民经济的重要支柱产业,汽车制造工厂一般包含冲压.焊装.涂装.总装四大车间.每辆汽车的生产过程被分解成很多加工任务下发给各个车间进行完成.车辆从冲压车间开始到总 ...