Python工具开源专栏
Py0004 python实现钉钉通讯录导出Excel表
前言
需求来源于公司,需要将钉钉通讯录以Excel表的形式导出到本地,方便定期备份。导出的Excel需要处理钉钉用户兼任多部门的数据问题。功能大致如下几点。(文末有github链接)
- 读取钉钉通讯录的用户列表、部门列表。
- 支持导出钉钉通讯录到JSON或Excel文档。
- 通过requests网络请求获取钉钉通讯录,前提需配置钉钉开放后台微应用。
工具技术要点:面向对象、网络请求 ,使用了py库requests
、openpyxl
目录结构
源代码目录结构:
Dingtalk-Book2Excel
|--------- assets
|--------- json # 存放json资源文件
|--------- xlsx # 存放excel资源文件
|--------- components
|--------- __init__.py # 初始化模块包文件
|--------- DingtalkOpenAPI.py # 调用钉钉通讯录的网络请求工具类
|--------- ExcelHandle.py # 导出Excel的工具类
|--------- JsonHandle.py # 导出Json的工具类
|--------- logs
|--------- utils
|--------- __init__.py # 初始化模块包文件
|--------- utils_const.py # 常量表
|--------- utils_logging.py # log日志工具类
|--------- dingtalk_book2excel.py # py主程序源文件
|--------- readme.md #
|--------- LICENSE #
|--------- requirements.txt # py项目的依赖项
执行文件的目录结构:
|--------- dingtalk_book2excel.exe # 主程序入口
部分演示
导出的JSON格式
导出的Excel格式
完整代码已在GitHub上开源
源码已在GitHub上开源:Dingtalk-Book2Excel
参考来源:钉钉文档-通讯录管理