pandas操作excel,matplotlib.pyplot画图插入到excel,处理复杂excel简单练习

在数据分析上,一直都在公司zeppelin上敲python/scala代码,进行数据分析,公司内搞了个小考试,操作excel,弄matplotlib画图之类的;

好久没弄过这些了,在小技术上感觉被打脸,复习一下,后面再考这了有个记录模板,免得到处翻代码调试了。

#公司有三道题:
第一道随机填充dataframe,并写入excel
第二道读取excel,画图,图插入excel的第二个sheet,并保存excel;画图参考 https://zhuanlan.zhihu.com/p/139052035
第三道 读取复杂的excel数据,根据条件统计每个系统离职人员数量,离职人员末尾带[X],还有特殊的人员不统计,如第三方公司的驻场人员

好久没操作单机的pandas和excel了,还要画图插进去

操作文档工具查阅了一下,可能xlwings处理数据比较强大,读写修改都还ok,好像依赖pywin32库,实测还容易打开wps/excel软件

可能轻量级选 更简单易用的 openpyxl更好,同样支持读写修改,图表功能也很强;

粗略看了官网api,openpyxl画图还要专门的去处理,不如xlwings直接插入 matplotlib.pyplot画出来的图方便,就选择xlwings了

操作文档工具主要 6类:
参考文档:https://www.cnblogs.com/jaww/p/9535338.html
xlwings 简单强大 【数据处理强大,看到可直接添加 matplotlob.pyplot Ploltycharts图片 就它了】
    缺点:
openpyxl 简单易用
pandas 使用需要结合其他库,读取写入数据的中间容器,处理数据中间部分
win32com 不仅仅是excel,可以处理office
Xlsxwriter 丰富多样的特性,强在美观大方的excel【不支持读改现有文件,从零开始复制数据处理麻烦】
DataNitro 插件内嵌到excel中,可替代VBA,在excel中优雅使用python
xlutils (xlrd/xlwt)老牌只支持2003年及以前的xls 不考虑

python2 环境(anaconda jupter-notebook,乱码看命,有时候utf-8也不好使,大多设置编码,然后中文字符前加’u’就好了,但有时简直伤心病狂,后续有空用python3算了)

#题一
import numpy as np
#import matplotlib.pyplot as plt
import pandas as pd
import os
df=pd.DataFrame(data=np.random.randint(1,101,3*6).reshape(3,6),columns=range(2010,2016),index=[u"张三",u"李四",u"王五"])
df.index.name=u"姓名"
df.head()
#writer=df.ExcelWriter("./1.xls")
filename=os.path.join(os.getcwd(),'1.xlsx')
df.to_excel(filename,encoding="utf-8",sheet_name="sheet1") #dataframe 写入excel,默认带columns 也就是head
df

pandas操作excel,matplotlib.pyplot画图插入到excel,处理复杂excel简单练习_第1张图片

#题二 excel来源于题一
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
filename=os.path.join(os.getcwd(),'1.xlsx')
print filename
df=pd.read_excel(filename,encoding='utf-8',sheet_name='sheet1')

你可能感兴趣的:(python,python,数据分析,excel,matplotlib,xlwings)