Python 将数据写入 excel(新手入门)

一、场景分析

假设有如下一组列表数据:

写一段 python脚本 将这组数据写入一个新建的 excel,表头是 【序号】、【姓名】、【性别】、【年龄】

student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]

最终表格如下:

二、新建 excel 的数据写入

1、安装 openpyxl 库

在 Python 中可以使用 openpyxl 库来向 Excel 文件写入数据。

pip install openpyxl

 2、脚本

excel_write.py 如下:

from openpyxl import Workbook# 创建一个新的工作簿
wb = Workbook()
# 选择默认的活动工作表
ws = wb.active# 数据准备
student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]# 向工作表中写入表头
ws['A1'] = '序号'
ws['B1'] = '姓名'
ws['C1'] = '性别'
ws['D1'] = '年龄'for i, item in enumerate(student_list):temp_list = [str(i+1)]print(item)temp_list.append(item['name']) temp_list.append(item['gender'])temp_list.append(item['age'])# 在已有数据的基础上继续写入,接收列表数据,如 [1, '小林', '男', 10]ws.append(temp_list)# 保存工作簿
wb.save('output.xlsx')

在上述代码中:

这段代码特别适合于从网页爬下来列表数据,写入 excel,适合 "表哥表姐" 们的日常数据处理。 

1、首先导入Workbook类。
2、创建一个新的工作簿对象wb。
3、获取默认的活动工作表ws。
4、使用类似字典的方式指定单元格的位置并为其赋表头。
5、遍历列表数据,按行输出。
6、最后使用 save()方法保存工作簿到指定的文件。

 3、运行

py excel_write.py

4、结果

三、已存在的 excel 的数据写入

假设有如下一个已存在的 student.xlsx:

如何将 student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}] 这组数据写进入呢?

1、脚本

student_write.py 如下:

from openpyxl import load_workbook# 打开已有的工作簿
wb = load_workbook('student.xlsx')
# 选择默认的活动工作表
ws = wb.active# 数据准备
student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]# 从第二行开始追加,跳过表头
next_row = 2for i, item in enumerate(student_list):ws.cell(row=next_row, column=1, value=str(i+1))ws.cell(row=next_row, column=2, value=item['name'])   ws.cell(row=next_row, column=3, value=item['gender'])   ws.cell(row=next_row, column=4, value=item['age'])next_row += 1# 保存工作簿
wb.save('student.xlsx')

 这段脚本就比较适合复杂格式模板的数据写入

ws.cell 表示给单元格设置数据

row: excel 行,从1开始

column: excel 列,从1开始

2、运行

py student_write.py

3、结果

四、读取 excel 数据到 list(解析 excel)

假设有如下 student.xlsx 表格,读取数据到 list [{'name': XX, 'gender': '', 'age': ''}]里面:

1、安装 pandas 库

在 Python 中可以使用 pandas 库来解析 Excel 文件。

pip install pandas

注意:

由于 pandas 库依赖 openpyxl 库,所以需要先安装 openpyxl,否则会报错:

2、脚本

 excel_read.py:

import pandas as pd# 菜鸟教程:https://www.runoob.com/pandas/pandas-dataframe.html# 输入文档
input_path=r"C:\Users\Administrator\Desktop\py\excel\student.xlsx"# 读取 Excel 文件,将其存储在一个DataFrame对象中
df = pd.read_excel(input_path)# 查看数据的前几行
# print(df.head())# 显示数据的行数和列数,元组类型,(3, 4) 第一个是行,第二个是列
# print(df.shape)
# 显示行数
# print(df.shape[0])
# 行数
rows = df.shape[0]student_list = []
# 遍历每一行
for  i  in range(0, rows):item = {}item['name'] = df.loc[i, '姓名']item['gender'] = df.loc[i, '性别']item['age'] = int(df.loc[i, '年龄'])student_list.append(item)print(student_list)

 df.loc[row_index, column_name] 

通过标签选择数据;

row_index:行索引,从0开始。

column_name:列名。

 3、运行

py excel_read.py

4、结果

五、拥抱AI

AI 对于脚本语言的学习能力是最强的,这种简单的代码,完全可以叫AI帮我们写:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/435091.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

了解输出电源优先级

主要又SUB,SBU以及USB三种模式。 调试10kW逆变器存在的输出电源优先级的问题,当优先级为SUB时,利用电压源模拟电池,当电池电压超过58.4V,即过压,在接入市电,市电继电器仍然闭合,仍然…

JS加密=JS混淆?(JS加密、JS混淆,是一回事吗?)

JS加密、JS混淆,是一回事吗? 是的!在国内,JS加密,其实就是指JS混淆。 1、当人们提起JS加密时,通常是指对JS代码进行混淆加密处理,而不是指JS加密算法(如xor加密算法、md5加密算法、…

TCP三次握手四次挥手详解

TCP三次握手建立连接的过程: 一次握手:客户端发送带有 SYN(seqx)标志的数据包到服务端,然后客户端进入 SYN_SEND 状态,等待服务端的确认。二次握手:服务端收到 SYN 包后,发送带有 S…

深度解读 2024 Gartner DevOps 魔力象限

上周 Gartner 刚发布了 2024 年度的 DevOps 魔力象限。我们也第一时间来深度解读一下这份行业里最权威的报告。 和2023年对比 23 年入围 14 家厂商,24 年入围 11 家。4 家厂商从报告中消失,分别是 Bitrise, Codefresh, Google Cloud Platform (GCP), VM…

数据库软题3-专门的集合运算

一、投影(筛选列) 题1 题2 二、选择(筛选行) 三、连接 3.自然连接 题1-自然连接的属性列数(几元关系)和元组数 解析: 题2-自然连接的属性列数(几元关系)和元组数 自然连接后的属性个数 A列…

Angular与Vue的全方位对比分析

一、框架概述 Angular Angular是由Google开发和维护的一款开源JavaScript框架。它采用TypeScript编写,具有一套完整的开发工具和规范。Angular遵循MVC(Model - View - Controller)或更确切地说是MVVM(Model - View - ViewModel&a…

WEB服务器——Tomcat

服务器是可以使用java完成编写,是可以接受页面发送的请求和响应数据给前端浏览器的,而在开发中真正用到的Web服务器,我们不会自己写的,都是使用目前比较流行的web服务器。 如:Tomcat 1. 简介 Tomcat 是一个开源的轻量…

无人机飞手入伍当兵技术优势分析

随着现代战争形态的不断演变,无人机技术在军事领域的应用日益广泛,成为提升军队作战能力的重要手段。对于无人机飞手而言,其专业技能和实战经验在入伍当兵后能够转化为显著的技术优势,为国防事业贡献重要力量。以下是从专业技能优…

cpu路、核、线程、主频、缓存

路:主板插口实际插入的 CPU 个数,也可以理解为主板上支持的CPU的数量。每个CPU插槽可以插入一个物理处理器芯片。例如,一台服务器可能有2路或4路插槽,这意味着它最多可以安装2个或4个物理处理器。 核:单块 CPU 上面能…

Llama微调以及Ollama部署

1 Llama微调 在基础模型的基础上,通过一些特定的数据集,将具有特定功能加在原有的模型上。 1.1 效果对比 特定数据集 未使用微调的基础模型的回答 使用微调后的回答 1.2 基础模型 基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored&#x…

sql-labs靶场

第一关(get传参,单引号闭合,有回显,无过滤) ?id-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity) -- 第二关(get传参,无闭…

SpringBoot(Java)实现MQTT连接(本地Mosquitto)通讯调试

1.工作及使用背景 工作中需要跟收集各种硬件或传感器数据用于Web展示及统计计算分析,如电表、流量计、泵、控制器等物联网设备。 目前的思路及解决策略是使用力控或者杰控等组态软件实现数据的转储(也会涉及收费问题),通过组态软件…

C++ -- 异常

C中的异常是用于处理程序执行过程中出现的错误情况。通过异常处理,程序可以在遇到错误时优雅地处理这些问题,而不是直接崩溃。 C语言处理错误的方式 C语言传统的处理错误的方式主要有两种: 终止程序:使用如assert这样的宏来检查…

RTX 5090、5080规格完整曝光,来看来看

近日,科技圈内再掀波澜,有知名博主独家揭秘了英伟达即将推出的RTX 5090与RTX 5080两款高端显卡的详尽规格,预示着显卡市场即将迎来新一轮的性能飞跃与定位分化。 据最新披露的信息,这两款显卡均采用了先进的PG144/145-SKU30 PCB设…

如何借助Java批量操作Excel文件?

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 前言 | 问题背景 在操作Excel的场景中,通常会有一些针对Excel的批量操作,批量的意思一般有两种: 对批量的Excel文件进行操作。如导入多个Excel文件…

若依--Request.js

编写一个request.js的基本类,封装一些信息,比如请求地址、响应时间、携带的token参数等等。 //创建一个axios实列这里的 import.meta.env.VITE_APP_BASE_API 表示这个基础 URL 的值来自于环境变量。通常,这种做法用于将不同环境(…

vue3结合 vue-router和keepalive实现路由跳转保持滚动位置不改变(超级简易清晰)

1.首先我们在路由跳转页面设置keepalive(Seeall是我想实现结果的页面) 2. 想实现结果的页面中如果不是全屏实现滚动而是有单独的标签实现滚动效果

docker - 迁移和备份

文章目录 1、docker commit1.1、查询 容器 docker ps1.2、docker commit zookeeper zookeeper:3.4.13 2、docker save -o2.1、宿主机 切换到 /opt 目录下2.2、将镜像保存到 宿主机/opt目录下 3、docker load -i 对某一个容器修改完毕以后,我们可以把最新的容器部署到…

HTML5实现好看的唐朝服饰网站模板源码2

文章目录 1.设计来源1.1 网站首页1.2 唐装演变1.3 唐装配色1.4 唐装花纹1.5 唐装文化 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.ne…

Spring Boot实战:构建在线商城系统

1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前&#…