python实现钉钉通讯录导出Excel表

Python工具开源专栏

Py0004 python实现钉钉通讯录导出Excel表

前言

需求来源于公司,需要将钉钉通讯录以Excel表的形式导出到本地,方便定期备份。导出的Excel需要处理钉钉用户兼任多部门的数据问题。功能大致如下几点。(文末有github链接)

  1. 读取钉钉通讯录的用户列表、部门列表。
  2. 支持导出钉钉通讯录到JSON或Excel文档。
  3. 通过requests网络请求获取钉钉通讯录,前提需配置钉钉开放后台微应用。

工具技术要点:面向对象、网络请求 ,使用了py库requestsopenpyxl

目录结构

源代码目录结构:

复制代码
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

参考来源:钉钉文档-通讯录管理

相关推荐
Python 老手3 分钟前
Python while 循环 极简核心讲解
java·python·算法
开源技术1 小时前
如何将本地LLM模型与Ollama和Python集成
开发语言·python
weixin_437044641 小时前
Netbox批量添加设备——堆叠设备
linux·网络·python
我有医保我先冲1 小时前
AI 时代 “任务完成“ 与 “专业能力“ 的区分:理论基础、行业影响与个人发展策略
人工智能·python·机器学习
测试开发Kevin2 小时前
小tip:换行符CRLF 和 LF 的区别以及二者在实际项目中的影响
java·开发语言·python
爱学习的阿磊2 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
阿狸OKay2 小时前
einops 库和 PyTorch 的 einsum 的语法
人工智能·pytorch·python
编码者卢布2 小时前
【Azure Storage Account】Azure Table Storage 跨区批量迁移方案
后端·python·flask
可触的未来,发芽的智生2 小时前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
吴维炜3 小时前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding