Python字典数据转换并批量写入Excel
在Python编程中,处理数据库查询结果并将其转化为Excel表格是一个常见的任务。本文将详细介绍如何将字典形式的数据结构与电子表格(Excel)进行交互,以实现数据的可视化和存储。首先,我们有一个示例数据列表`list`,它包含了键值对,例如`["2891-1", "D"]`,表示登录名和对应的某个状态或值。这个列表来源于数据库查询结果。 为了将这样的数据结构插入Excel,我们使用了以下步骤: 1. **数据预处理**:使用Python的`pymysql`库连接数据库,执行SQL查询获取所需数据。查询结果存储在变量`result`中,然后将其转换为字典`datanew`。这里通过遍历`result`中的每个元素,提取`login_name`字段的值作为字典的键,而`answer`字段中的嵌套列表则用`eval()`函数解析成字典形式,便于后续操作。 ```python for item in result: datanew[item['login_name']] = list(eval(item['answer'])) ``` 2. **创建Excel文件和工作表**:使用`xlsxwriter`库创建一个新的Excel文件,并添加名为"sheet1"的工作表。这样可以确保文件结构清晰,避免覆盖已有文件。 ```python book = xlsxwriter.Workbook('C:/Users/Administrator/Desktop/xxx.xlsx') sheet1 = book.add_worksheet('sheet1') ``` 3. **循环写入字典数据到Excel**:定义一个列表`num`来存储字典的键,然后使用嵌套循环遍历字典。对于每个键值对,提取键(`a1`)和值(`b1x`),确保值是一个有序列表。接着,根据`a`和`b`的索引,分别写入Excel的行和列。 ```python for a in range(len(num)): # ...其他处理逻辑... for b in range(len(datanew[num[a]])): sheet1.write(a+1, b+1, datanew[num[a]][b]) ``` 4. **特殊处理**:对于第一个行(行号为0),如果存在单独的值(而非列表),需要额外处理,将它们写入第一行对应列。 ```python if a == 0: for y in range(len(b1x)): sheet1.write(0, y+1, b1x[y]) ``` 5. **文件关闭**:最后,确保在完成所有写入操作后关闭Excel文件。 总结起来,这篇文章展示了如何利用Python中的`pymysql`、`json`、`re`以及`xlsxwriter`库,通过循环和条件判断,将数据库查询结果转换为字典形式,再逐一插入到Excel工作表中,形成整齐的表格结构。这对于数据清洗、分析和报告制作都是非常实用的技能。
![](https://csdnimg.cn/release/download_crawler_static/14000722/bg1.jpg)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 886
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 计算机系统基石:深度解析与优化秘籍
- 《ThinkingInJava》中文版:经典Java学习宝典
- 《世界是平的》新版:全球化进程加速与教育挑战
- 编程珠玑:程序员的基础与深度探索
- C# 语言规范4.0详解
- Java编程:兔子繁殖与素数、水仙花数问题探索
- Oracle内存结构详解:SGA与PGA
- Java编程中的经典算法解析
- Logback日志管理系统:从入门到精通
- Maven一站式构建与配置教程:从入门到私服搭建
- Linux TCP/IP网络编程基础与实践
- 《CLR via C# 第3版》- 中文译稿,深度探索.NET框架
- Oracle10gR2 RAC在RedHat上的安装指南
- 微信技术总监解密:从架构设计到敏捷开发
- 民用航空专业英汉对照词典:全面指导航空教学与工作
- Rexroth HVE & HVR 2nd Gen. Power Supply Units应用手册:DIAX04选择与安装指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)