Python自动化操作Excel

二、基础准备

  • 环境:python 3.7+

  • 需要安装第三方模块:xlwings

  • 运行编辑器:jupyter notebook

三、动手动脑

3.0 我们为什么要学编程

首先和大家简单聊一下运营(这里运营不单单指传统意义上的运营工作者,其实只有工作场景中有经常用到office等办公软件,处理很多数据的都算)为什么要学习编程了?

站在我个人角度简单聊聊:

  • 运营学编程绝不是为了解决上面这种简单 单一的问题

  • 我们希望的是通过编程提高工作效率、优化工作流程

  • 比如:批量处理excel文件(可能是1000或者更多行数据的增删改)

3.1 环境准备

首先需要你的电脑安装好了Python环境,并且安装好了Python开发工具。

如果你还没有安装,可以参考以下文章:

如果仅用Python来处理数据、爬虫、数据分析或者自动化脚本、机器学习等,建议使用Python基础环境+jupyter即可,安装使用参Windows/Mac 安装、使用Python环境+jupyter notebook

如果想利用Python进行web项目开发等,建议使用Python基础环境+Pycharm,安装使用参考 Windows下安装、使用Pycharm教程,这下全了 和Mac下玩转Python-安装&使用Python/PyCharm 。

3.2 模块安装

本次实验是在jupyter notebook上进行,默认你已经安装好了Python基本环境和jupyter,如果没有安装可以看上面的环境安装部分。

首先打开终端,输入:

jupyter notebook

即可进入jupyter,会自动连接服务器,并跳转到网页,新建一个python文件。

给文件重命名,容易区分:

在代码块中输入以下指令并运行,即可安装 xlwings(连接操作excel表格模块):

!pip3 install xlwings --user

3.3 模块基本介绍与使用

xlwings
基本介绍:用于Python与Excel之间的交互,可以轻松地从 Excel 调用 Python,也可以利用Python自动化操作Excel,调用VBA,非常方便。

项目地址:https://github.com/xlwings/xlwings

基本使用方法:新建一个excel文件,取名为xlwings_wb.xlsx,并新建一个sheet,取名为first_sht,在其A1单元格内插入字符串简说Python

# 导入xlwings,并起一个别名 xw,方便操作
import xlwings as xw

# 1、创建一个app应用,打开Excel程序
# visible=True 表示打开操作Excel过程可见 初次接触可以设置为True,了解其过程
# add_book=False 表示启动app后不用新建个工作簿
app = xw.App(visible=True, add_book=False)

# 2、新建一个工作簿
wb = app.books.add()

# 3、新建一个sheet,并操作
# 3.1 新建sheet 起名为first_sht
sht = wb.sheets.add('first_sht')
# 3.2 在新建的sheet表中A1位置插入一个值:简说Python
sht.range('A1').value = '简说Python'
# 3.3 保存新建的工作簿,并起一个名字
wb.save('xlwings_wb.xlsx')

# 4、关闭工作簿
wb.close()

# 5、程序运行结束,退出Excel程序
app.quit()

通过简单五步,我们就可以完成新建一个excel,并向其中指定sheet中的指定位置输入值了。

四、xlwings模块实战

4.1 基础语法一览

  • 导包

# 基础导入包
import xlwings as xw  # 程序第一步
  • 打开关闭Excel程序(理解成excel软件打开、关闭)

# visible=True 表示打开操作Excel过程可见 初次接触可以设置为True,了解其过程
# add_book=False 表示启动app后不用新建个工作簿
app = xw.App(visible=True, add_book=False)  # 程序第二步

# 关闭excel程序
app.close()  # 程序最后一步
  • 工作簿相关操作(理解成excel文件)

# 1、新建一个工作簿
wb = app.books.add()  # 程序第三步

# 2、保存新建的工作簿,并起一个名字
# 程序倒数第三步,非常关键,保存操作数据结果
wb.save('xlwings_wb.xlsx')  


# 3、打开一个已经存在的工作簿
wb = app.books.open('xlwings_wb.xlsx')  # 程序第三步

# 4、关闭工作簿
wb.close()  # 程序倒数第二步
  • sheet相关操作(理解成工作表)

# 在工作簿中新建一个sheet,起名为 second_sht
sht1 = wb.sheets.add('second_sht')

# 选中已经存在的sheet
sht2 = wb.sheets('first_sht')

# 也可以通过索引选择已存在的sheet
sht3 = wb.sheets[0]  # 选中工作簿中的第一个sheet

# 获取工作簿中工作表的个数
sht_nums = wb.sheets.count
print('工作簿中的sheet个数为:%d'% sht_nums)

# 当前工作表名字
sht1.name

# 获取指定sheet中数据的行数
sht1.used_range.last_cell.row

# 获取指定sheet中数据的列数
sht1.used_range.last_cell.column

# 删除指定的sheet 比如删除:first_sht
wb.sheets('first_sht').delete()
  • 单元格相关操作(就是excel单元格子)

    </
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在日常的工作,对Excel操作必不可少。如果涉及到大量的Excel操作的话,手动处理效率还是比较低的,因此Excel自动化完全有必要。一个常用的Python库是openpyxl,相较于xlrd和xlwt,openpyxl有更丰富的功能,并且支持*.xls和*.xlsx格式的工作簿。 要利用Python进行Excel自动化操作,首先需要安装openpyxl库。可以通过pip install openpyxl命令进行安装。 使用openpyxl读取工作簿数据可以通过以下步骤进行: 1. 导入openpyxl库:import openpyxl 2. 打开已有的*.xlsx文件:wb = openpyxl.load_workbook("文件路径") 3. 选择对应的工作表:ws = wb.worksheets 4. 使用ws.cell(row, column).value来获取具体单元格的值,其row和column分别表示行和列的索引。例如,ws.cell(row=3, column=2).value表示获取第3行第2列的值。 如果需要向Excel写入数据,可以使用xlwt库。以下是一个简单的示例代码: 1. 导入xlwt库:import xlwt 2. 创建工作簿:workbook = xlwt.Workbook(encoding="ascii") 3. 创建工作表:worksheet = workbook.add_sheet("工作表名") 4. 使用worksheet.write(row, column, value)来写入具体单元格的值。其row和column分别表示行和列的索引,value表示要写入的值。例如,worksheet.write(0, 0, "Hello")表示向第1行第1列写入"Hello"。 5. 最后,使用workbook.save("文件路径")保存工作簿。 通过以上方法,可以利用Python进行Excel自动化操作,包括读取和写入数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值