Python办公自动化之Excel介绍

目录
  • 前言
  • 一、创建、打开excel文件
  • 二、工作表中的数据操作
    • 写数据
    • 读数据
    • 删除数据
  • 三、csv文件转xlsx

前言

Python处理Excel的包是openpyxl,其支持操作的文件类型为:.xlsx, .xlsm, .xltx, .xltm

pip install openpyxl

安装完成之后,我们应该了解一下Excel的组成部分,如下图所示:

Excel文件中三个对象

workbook: 工作簿,就是一个excel文件sheet:工作表,一个workbook有多个工作表,表名识别,如“sheet1”,“sheet2”等。cell: 单元格,存储数据对象

一、创建、打开excel文件

1、创建空白工作簿

创建一个空的工作簿,并将默认工作表重命名

#导入库中的工作簿
from  openpyxl import Workbook

#创建工作簿
wb = Workbook()
#获取当前所在的sheet,激活
sheet = wb.active
#设置工作表名称,也可以不设置,不设置工作表默认名称为Sheet
sheet.title = "工作表1"
print(sheet.title)        #打印工作表名字

#保存表
wb.save("new_excel.xlsx")  

如下成功创建

2、打开已有文件

from  openpyxl import Workbook, load_workbook

#加载excel文件
wb = load_workbook("new_excel.xlsx")
#获取所在的工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出"工作表1"

二、工作表中的数据操作

往excel中写数据是按照坐标的方式进行写入的,每个单元格都可以用 “纵坐标横坐标”表示,如下位置:

写数据

方法一:自定义位置写入数据

如下在C3和D3的地方写入数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook

#加载文件
wb = load_workbook("new_excel.xlsx")
#获取文件的所在工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出工作表1

sheet["C3"] = "girl"
sheet["D3"] = "beautiful"
#保存
wb.save("new_excel.xlsx")

 方法二:每行自动添加数据

会自动从上到下在有数据的那一行的下一行开始从左到右写入想要写入的数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook

#加载文件
wb = load_workbook("new_excel.xlsx")
#或者文件的所在工作表
sheet = wb.active
#打印工作表名
print(sheet.title)   #输出工作表1

sheet.append([11,22,33,44,55])
sheet.append(['aa','bb','cc','dd','ee'])

#保存
wb.save("new_excel.xlsx")

读数据

表格内容如下

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook

#加载文件
wb = load_workbook("cma.xx.xlsx")

# 1.打印所有的工作表
print(wb.sheetnames)     #输出 ['cma.xx', 'cma2.xx']

# 2.选择一个工作表进入
sheet = wb["cma.xx"]
#print(sheet)             #输出 <Worksheet "cma.xx">

# 3.获取单元格A2的值
print(sheet["A2"].value)  #输出 http://api.data.xxx.cn:8090

# 4.获取多个单元格的值,在同一行中
for cell in sheet["A2:C2"]:
	for i in cell:
		print(i.value)       #输出具体单元格值
# 5.在不同的行中
for cell in sheet["A2:B4"]:
	for i in cell:
		print(i.value)       #输出具体单元格值

# 6.打印表中的所有数据
for row in sheet:                   #遍历每一行
	for i in row:                   #遍历每一行中的每一个单元格
		print(i.value,end=", ")     #打印每行的单元格数据
	print()

# 7.获取指定范围单元格中的数据
for row in sheet.iter_rows(min_row=2, max_row=5, max_col=6):
	for i in row:
		print(i.value,end=', ')
	print()

# 8.按列的方式遍历,即以纵向的方式读取数据
for row in sheet.columns:  #从第一列数据开始遍历
	for i in row:          #获取每一列中的每一个数据
		print(i.value,end=", ")
	print()

删除数据

1. 删除整列数据

#导入库中的工作簿
from  openpyxl import Workbook, load_workbook

#加载文件
wb = load_workbook("cma.xx.xlsx")

# 选择一个工作表进入
sheet = wb["cma.xx"]

sheet.delete_cols(2)    #指定删除第二列
sheet.delete_cols(2,3)  #删除第二列的往下三列,包括第二列

wb.save("cma.xx.xlsx")

三、csv文件转xlsx

在进行文件转换时我们需要关注两个文件的编码方式,在使用pandas读取csv文件时,也需要指定解码方式

1. 首先查看需要转换的ccv文件的编码方式,使用记事本打开csv文件,查看-状态栏,可以看到文件下方有编码方式:ANSI

2. 脚本如下

import pandas as pd

def csv_to_xlsx():
    csv = pd.read_csv('cma.xx.csv', encoding='ANSI')
    csv.to_excel('2.xlsx', sheet_name='data', index=False)

if __name__ == '__main__':
    csv_to_xlsx()

到此这篇关于Python办公自动化之Excel介绍的文章就介绍到这了,更多相关Python Excel内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈Python如何获取excel数据

    目录 一.列操作 二.行操作 总结 准备导入的excel为: 可以采用pandas的read_excel功能,具体代码如下: import pandas as pd getdata=pd.read_excel(r'C:/文件夹索引/文件名.xlsx', sheet_name='工作表sheet的名字') sheet_name不设置参数,就默认第一个工作表,同时也可设置工作表的位置,读取第5个工作表可以设置为=4. 一.列操作 如果对获取工作表其中的某列或者多列,可以使用usecols参数,比如读

  • 学会python操作excel永不加班系列

    目录 一.第三方类库介绍 二.安转第三方类库 三.引用xlrd读取excel数据 四.引入openpyxl写入数据 总结 实验环境: 系统:win10 语言:python3.8 承载软件:pycharm2021.1.2 (Professional Edition) 第三方类库:openpyxl.xlrd 一.第三方类库介绍 xlrd库是一个很常用的读取excel文件的库,其对excel文件的读取可以实现比较精细的控制. openpyxl是实现excel的写入操作的第三方类库 二.安转第三方类库

  • Python批量操作Excel文件详解

    目录 批量操作 OS模块介绍 OS模块基本操作 获取当前工作路径 获取一个文件夹下的所有文件名 对文件名进行重命名 创建一个文件夹 删除一个文件夹 删除一个文件 利用OS模块进行批量操作 批量读取一个文件下的多个文件 批量创建文件夹 批量重命名文件 其他批量操作 批量合并多个文件 将一份文件按照指定列拆分成多个文件 批量操作 OS模块介绍 OS的全称是Operation System,指操作系统.在Python里面OS模块中主要提供了与操作系统即电脑系统之间进行交互的一些功能.我们很多的自动化操

  • Python实现将Word表格嵌入到Excel中

    今日需求 其实就是把Word中的表格转到Excel中,顺便做一个调整.这个需求在实际工作中,很多人还是经常碰到的! 如果单单是两个表格,那只要简单的复制黏贴即可,但如果上百了呢?那就得考虑自动化了.好在今天碰到的需求中的原文件格式是比较有规律的,那直接来尝试一下. # 首先要pip install python-docx # 如果原文件是doc格式,那就先转成docx from docx import Document import pandas as pd path = "./word表格转e

  • Python办公自动化之Excel介绍

    目录 前言 一.创建.打开excel文件 二.工作表中的数据操作 写数据 读数据 删除数据 三.csv文件转xlsx 前言 Python处理Excel的包是openpyxl,其支持操作的文件类型为:.xlsx, .xlsm, .xltx, .xltm pip install openpyxl 安装完成之后,我们应该了解一下Excel的组成部分,如下图所示: Excel文件中三个对象 workbook: 工作簿,就是一个excel文件sheet:工作表,一个workbook有多个工作表,表名识别,

  • python办公自动化之excel的操作

    准备 使用 Python 操作 Excel 文件,常见的方式如下: xlrd / xlwt openpyxl Pandas xlsxwriter xlwings pywin32 xlrd 和 xlwt 是操作 Excel 文件最多的两个依赖库 其中, xlrd 负责读取 Excel 文件,xlwt 可以写入数据到 Excel 文件 我们安装这两个依赖库 # 安装依赖库 pip3 install xlrd  pip3 install xlwt  xlrd 读取 Excel 使用 xlrd 中的 o

  • Python办公自动化之Excel(中)

    准备 首先,我们需要安装依赖包 # 安装依赖包 pip3 install openpyxl 读取数据 使用 openpyxl 中的 load_workbook(filepath) 加载本地一个 Excel 文件,返回结果是一个工作簿对象 import openpyxl # 加载本地的Excel文件 wb = openpyxl.load_workbook(file_path) 利用工作簿对象,可以获取所有的 Sheet 名称及 Sheet 列表 def get_all_sheet_names(wb

  • Python办公自动化从Excel中计算整理数据并写入Word

    前言 在前几天的文章中我们讲解了如何从Word表格中提取指定数据并按照格式保存到Excel中,今天我们将再次以一位读者提出的真实需求来讲解如何使用Python从Excel中计算.整理数据并写入Word中,其实并不难,主要就是以下两步: openpyxl读取Excel获取内容 docx读写Word文件 那我们开始吧! 需求确认 首先来看下我们需要处理的Excel部分数据,因涉及隐私已经将数据皮卡丘化 可以看到数据非常多,并且还存在重复数据.而我们要做的就是对每一列的数据按照一定的规则进行计算.整理

  • Python办公自动化之教你用Python批量识别发票并录入到Excel表格中

    一.场景描述 这里有以四张发票为例(辰哥网上搜的),将发票图片放到pic文件夹下. 随便打开一张发票 提取目标:金额.名称.纳税人识别号.开票人. 最后将每一张发票的这四个内容保存到excel中: 二.准备环境 需要用到的库如下: from PIL import Image as PI import pyocr import pyocr.builders from cnocr import CnOcr 安装的命令如下: pip install pyocr pip install cnocr 发票

  • Python办公自动化Word转Excel文件批量处理

    目录 前言 首先使用Python将Word文件导入 row和cell解析所需内容 内层解析循环 前言 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共有近2600条类似格式的表格细栏,每个栏目包括的信息有: 日期 发文单位 文号 标题 签收栏 需要提取其中加粗的这三项内容到Excel表格中存储,表格样式如下: 也就是需要将收文时间.文件标题.文号填到指定位置,同时需要将时间修改为标准格式,如果是完全手动复制和修改时间,

  • Python 自动化处理Excel和Word实现自动办公

    今天我来分享一些Python办公自动化的方法,欢迎收藏学习,喜欢点赞支持,欢迎畅聊. Openpyxl Openpyxl 可以说是 Python 中最通用的工具模块了,它使与 Excel 交互pip install openpyxl pip install python-docx简直就像在公园里漫步一样. 有了它,你就可以读写所有当前和传统的 excel 格式,即 xlsx 和 xls. Openpyxl 允许填充行和列.执行公式.创建 2D 和 3D 图表.标记轴和标题,以及大量可以派上用场的

  • 基于python实现在excel中读取与生成随机数写入excel中

    具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩. 首先要用到的数据库有:xlwt,xlrd,random这三个数据库. 命令如下: import xlwt import xlrd import random 现有一份表格内容如下图: 现在我们需要提取这其中的B1-C14. (提示:在对这份电子表格进行操作的时候,要使用到这个电子表格的地址,即表格的储存位置.) excel=xlrd.open_w

  • Python读写/追加excel文件Demo分享

    三个工具包 python操作excel的三个工具包如下,注意,只能操作.xls,不能操作.xlsx. • xlrd: 对excel进行读相关操作 • xlwt: 对excel进行写相关操作 • xlutils: 对excel读写操作的整合 这三个工具包都可以直接使用pip进行下载: sudo pip install xlrd sudo pip install xlwt sudo pip install xlutils1 xlwt的缺陷 xlwt只能创建一个全新的excel文件,然后对这个文件进行

  • 零基础使用Python读写处理Excel表格的方法

    引 由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作. 安装库Python环境 首先当然是配环境,不过选Python的一个重要原因就是Mac内是自带Python环境的,不需要额外的配置环境,省下了一笔工作,如果你用的是Windows系统,那就还需要配置一下Python的环境了,我Mac的Python版本是2.7. 第三方库 Python自己是不支持直接操作Excel的,但是Python强大之处就在于有大量好用的第三方库,这

随机推荐