二、基础准备
-
环境: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单元格子)
</