开头先BB两句
基本上来说,每周五写的周报都是这个套路。
突然想用Python智能化办公,修改Excel表格。
先不考虑,合并单元格,修改表格样式的操作。就先做个简单的读写。
操作过程
安装Python
工欲善其事必先利其器,首先做好准备工作,开发环境必不可少。
直接官网下载安装包,我使用的是3.6.5版本。下载安装后,配置环境变量。
开发工具,我就直接用的vscode,安装了一个python插件。
按住 ctl + alt + P 设置Python选择解释器即可。
Pandas安装包
pandas处理 Exce l需要 xlrd、openpyxl 依赖包
pip install pandas
pip install xlrd
pip install openpyxl
上手使用
正如官网所示,使用方法,就像1、2、3 一样简单
# 1、安装包
$ pip install pandas
# 2、进入python的交互式界面
$ python -i
# 3、使用Pandas
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> print(df)
# 4、输出结果
Empty DataFrame
Columns: []
Index: []
创建Excel,写入数据
import pandas as pd
from pandas import DataFrame
#创建DataFrame可以用下面字典,也可以用数组ndarray
dic = {'标题列1': ['malena','morgan'],
'标题列2': [36, 34]
}
df = pd.DataFrame(dic)
df.to_excel('write_test.xlsx', index=False)
执行py文件,成功写入,感觉就是非常的奈斯。
引入pandas DataFrame对象
import pandas as pd
from pandas import DataFrame
写入 Excel 文件,官方示例:
df.to_excel('foo.xlsx', sheet_name='Sheet1')
读取 Excel 文件,官方示例:
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
这里有个小坑:
原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以pandas.read_excel(‘xxx.xlsx’)会报错。
可以安装旧版xlrd,在cmd中运行:
pip uninstall xlrd
pip install xlrd==1.2.0
也可以用openpyxl代替xlrd打开.xlsx文件:
df=pandas.read_excel(‘data.xlsx’,engine=‘openpyxl’)
读取Excel文件,并且打印出来
data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
print(data)
打印结果如下图所示:
通过修改 data.loc 的值,改变数据。data.loc 可以粗浅的理解为是一个二维数组,对应每一行每一列的单元格。
譬如,将“工作事项2”修改为“工作事项5”,对应的单号格,第3行,第2列
data.loc[3][2] = '工作事项5';
修改完成,最后写入新的Excel表格,可以设置sheet_name,譬如设置为“3月”。
DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)
完整代码如下:
import pandas as pd
from pandas import DataFrame
# 3.8.2 pandas读写Excel
def write_weekly():
data = pd.read_excel('zmy-weekly.xlsx', sheet_name='3月', engine='openpyxl')
print(data)
print(data.loc)
data.loc[2][0] = '3月5周';
data.loc[2][2] = '工作事项4';
data.loc[3][2] = '工作事项5';
data.loc[4][2] = '工作事项6';
data.loc[2][4] = '已完成';
data.loc[3][4] = '已完成';
data.loc[4][4] = '已完成';
data.loc[5][2] = '又是一个临时工作';
data.loc[6][0] = '4月1周';
data.loc[6][2] = '工作事项7';
data.loc[7][2] = '工作事项8';
data.loc[6][4] = '进行中';
data.loc[7][4] = '进行中';
# # 保存数据
DataFrame(data).to_excel('new.xlsx', sheet_name='3月', index=False, header=True)
write_weekly();
样式不一样,但是问题不大。打开上周的周报,全选,然后格式刷,点击新增的周报,啊哈。
自我吐槽
话说,都已经打开Excel了,为什么不直接改还快一点?
不过,折腾了这么一下,通过Python用Pandas读写Excel的基本操作,我应该是说清楚了。今后不定期再折腾。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。