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

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

相关推荐
西柚与蓝莓40 分钟前
【开源开放体系总结】
python
belldeep4 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
FreakStudio6 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
丶21366 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch7 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技7 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )8 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温8 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学8 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹8 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt