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

news2024/9/30 13:15:54

一、场景分析

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

写一段 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 = 2

for 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.coloradmin.cn/o/2166790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql数据库:超键、候选键、主键与外键

mysql数据库:超键、候选键、主键与外键 1、超键(Superkey)2、候选键(Candidate Key)3、主键(Primary Key)4、外键(Foreign Key) 💖The Begin💖点点…

【Golang】Go语言接口与多态

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

106.WEB渗透测试-信息收集-FOFA语法(6)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:105.WEB渗透测试-信息收集-FOFA语法(5) FOFA语法案例&#xff1a…

金融领域的人工智能——Palmyra-Fin 如何重新定义市场分析

引言 DigiOps与人工智能 正在改变全球各行各业,并带来新的创新和效率水平。人工智能已成为金融领域的强大工具,为市场分析、风险管理和决策带来了新方法。金融市场以复杂性和快速变化而闻名,人工智能处理大量数据并提供清晰、可操作的见解的…

影刀---实现我的第一个抓取数据的机器人

你们要的csdn自动回复机器人在这里文末哦! 这个上传的资源要vip下载,如果想了解影刀这个软件的话可以私聊我,我发你 目录 1.网页对象2.网页元素3.相似元素组4.元素操作设置下拉框复选框滚动条获取元素的信息 5.变量6.数据的表达字符串变量列…

企业身份安全管理面临的问题和解决方案

企业在向数字化、移动化、智能化加速发展的过程中,需加大信息化建设与数字化转型的投入已成为共识。企业建设的系统数量逐渐增多,部分企业甚至存在上千套信息化系统,且类型繁多: 办公系统:HR、OA、邮件、考勤等系统核心…

【Linux】通过内核以太层可查看应用程序运行时访问外网情况

比如,SourceInsight3.exe从外网接收信息: 下边是运行firefox时内核打印的日志,可以看到浏览器运行时调用了很多的操作系统内核系统调用,比如:文件读写、网络数据包的收发等等,其实这些日志还并不全&#x…

Qt-QListWidget多元素控件(36)

目录 多元素控件介绍 xxWidget和xxView的区别 描述 属性 方法 增加 删除 信号 使用 图形化界面操作 代码操作 多元素控件介绍 首先我们要先了解一下多元素控件是什么意思,一般而言是以以下这六个控件来进行区别的 xxWidget和xxView的区别 举个例子 描述…

寻找情感MV视频素材:热门素材网站推荐

在MV创作中,情感表达至关重要,唯美而深情的画面能迅速引发观众的共鸣,从而增强作品的感染力。不论你是制作爱情、失恋、亲情还是友情主题的MV,找到合适的情感视频素材都是成功的关键。如果你想为作品增添温暖和深情的氛围&#xf…

PowerPoint技巧:将幻灯片里的图片背景设置为透明

在PPT中添加了图片,想要将图片中的背景设置为透明或者想要抠图,有什么方法吗?今天分享两个方法。 方法一: 添加图片,选中图片之后,点击【图片格式】功能,点击最左边的【删除背景】 PPT会自动帮…

如何在 macOS 上恢复未保存的 Excel 文件 – 文件恢复的最佳方法

Microsoft Excel 主要用于学生、员工和组织创建电子表格、报告和许多其他内容。我们是人,我们也容易忘记事情。因此,您想要在 macOS 上恢复未保存的 Excel 文件并不罕见。 虽然在 Excel 上恢复未保存的电子表格很容易,但在 macOS 上就有些棘…

【C++掌中宝】类和对象(一):类的定义和实例化

文章目录 引言1. 什么是类?1.1 类的定义1.1.1 类定义格式1.1.2 访问限定符1.1.3 类域 1.2 类在编程中的作用——抽象与封装 2. 类的基本组成2.1 成员变量:类的属性(变量)2.2 成员函数:类的行为(函数&#x…

ai教我校验“顺序”四则运算expression(re“非捕获组”应用)

与ai学伴聊天对掐,学到了re非捕获组匹配。 (笔记模板由python脚本于2024年09月25日 23:21:14创建,本篇笔记适合初通Python,熟悉六大基本数据(str字符串、int整型、float浮点型、list列表、tuple元组、set集合、dict字典)的coder翻阅) 【学习的…

手机使用技巧:如何修复变砖的 Android 手机

许多 Android 用户选择 root Android 手机以获取更多权限。但您应该知道,除了许多好处之外,root 过程中的一些不正确的操作很容易导致一些意外情况。例如,一些用户说他们的 Android 设备在 root 之后变成了砖头手机。 如果不幸手机变砖了&am…

数字化转型:开启未来发展新引擎

在当今飞速发展的时代,数字化转型已成为企业、组织乃至整个社会发展的关键趋势。 信息技术的迅猛发展,如互联网、大数据、人工智能等,为数字化转型提供了强大支撑。市场竞争的加剧,也促使企业不断寻求提升竞争力的方法&#xff0c…

【TabBar嵌套Navigation案例-检查新版本-点击Cell执行方法 Objective-C语言】

一、接下来,我们来说这个检查新版本的功能 1.首先呢,在我们的示例程序当中, 当你点击检查新版本Cell的时候,它会弹出一个框, 这个弹框啊,就是点击cell的时候,执行了一个方法, 然后在这个方法里边,写了一个弹框, 根本的目的啊,就是要去做到,如何点击一个Cell,执行…

PyCharm 的安装和配置

环境要求: OS:Windows / macOS / Linux (此处使用 Windows 10 进行演示)Python:包括但不限于 Anaconda,miniconda,Python。在 Windows 下只要能找到 python.exe 即可 Download 进入 PyCharm 官网,选择对…

计算栅格时序数据的斜率并提取特定斜率范围的栅格

计算栅格时序数据的斜率 1 数据和软件2 计算时序栅格斜率2.1 在ENVI中安装斜率计算器插件2.2 波段合成2.3 计算斜率2.4 导出斜率栅格为tif 3 提取特定斜率范围的栅格 前言 本文所说的时序数据,本质上是多波段数据,理论上可以有无数个波段,但是…

【含文档】基于Springboot+微信小程序 的高校二手商品交易平台(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

电子级四甲基氢氧化铵 (TMAH)行业调研:预计2030年全球市场规模将达到10亿美元

四甲基氢氧化铵 (TMAH) 是一种化合物。它是一种季铵盐,其中铵离子完全被四个甲基取代,并与氢氧离子配对。TMAH 通常存在于水溶液或甲醇溶液中,在那里它以强碱的形式存在。电子级四甲基氢氧化铵 (TMAH) 是一种高纯度化合物,主要用于…