如何使用Python操作Excel文件?看这篇博客就够了!

news2024/11/23 3:06:46

前言

如何使用Python操作Excel文件?看这篇博客就够了!

在工作中,我们经常需要处理和分析数据。而Excel作为一种广泛使用的数据分析工具,被很多人所熟知。但是,对于一些非技术背景的用户来说,如何操作Excel却可能有些困难。这时候,Python就成为了一种非常有用的工具。

本文将介绍如何使用Python对Excel文件进行读写操作。首先,我们将介绍Python中可以使用的第三方库xlrdxlwtxlutils,并通过示例来展示“如何使用xlwt库来将数据写入到Excel文件中”、“如何使用xlrd库来读取一个Excel文件的数据”和“如何使用三个库的配合来进行一边读取一边写入的操作”。

通过本文的介绍,你将会了解到:

  • 如何获取单元格的值;
  • 如何遍历整个工作表;
  • 如何创建新的工作表和单元格,并将数据写入到单元格中;
  • 如何使用save()方法保存Excel文件到磁盘上。

如果你想学习如何使用Python操作Excel文件,那么这篇文章就是为你准备的。希望它能帮助你更好地理解和应用这个工具。

1、写入Excel文件

首先来学习下,随机生成数据,写入一个Excel文件并保存,所使用到的库,是xlwt,安装命令pip install xlwt ,安装简单方便,无依赖,很快。

1.1、新建一个WorkBook对象

import xlwt
wb = xlwt.Workbook()

1.2、新建sheet

sheet = wb.add_sheet('第一个sheet')

1.3、写数据

head_data = ['姓名','地址','手机号','城市']
for head in head_data:
    sheet.write(0,head_data.index(head),head)

write函数写入,分别是x行 x列 数据,头部数据永远是第一行,所以第0行。数据的列,则是当前数据所在列表的索引,直接使用index函数即可。

1.4、创建虚假数据

有了头部数据,现在就开始写入内容了,分别是随机姓名 随机地址 随机号码 随机城市,数据的来源都是faker库,一个专门创建虚假数据用来测试的库,安装命令:pip install faker

因为头部信息已经写好,所以接下来是从第1行开始写数据,每行四个数据,准备写99个用户数据,所以用循环,循环99次,代码如下:

import faker
fake = faker.Faker()
for i in range(1,100):
    sheet.write(i,0,fake.first_name() + ' ' + fake.last_name())
    sheet.write(i,1,fake.address())
    sheet.write(i,2,fake.phone_number())
    sheet.write(i,3,fake.city())

1.5、保存成xls文件

wb.save('虚假用户数据.xls')

然后找到文件,使用office或者wps打开这个xls文件:

2、读取Excel文件

写文件已经搞定,接下来就要学习下Excel的读操作,读取Excel的库是xlrd,对应read;xlrd的安装命令:pip install xlrd

2.1、打开Excel文件

import xlrd
wb = xlrd.open_workbook('虚假用户数据.xls')

2.2、读取Excel数据

# 获取文件中全部的sheet,返回结构是list。
sheets = wb.sheets()
# 通过索引顺序获取。
sheet = sheets[0]
# 直接通过索引顺序获取。
sheet = wb.sheet_by_index(0)
# 通过名称获取。
sheet = wb.sheet_by_name('第一个sheet')

2.3、打印数据

# 获取行数
rows = sheet.nrows
# 获取列数
cols = sheet.ncols
for row in range(rows):
    for col in range(cols):
        print(sheet.cell(row,col).value,end=' , ')
    print('\n')

打印效果(只截取部分):

3、在现有的Excel文件中追加内容

需求:往“虚假用户数据.xls”里面,追加额外的50条用户数据,就是标题+数据,达到150条。

3.1、导入库

import xlrd
from xlutils.copy import copy

3.2、使用xlrd打开文件,然后xlutils赋值打开后的workbook

wb = xlrd.open_workbook('虚假用户数据.xls',formatting_info=True)
xwb = copy(wb)

3.3、有了workbook之后,就开始指定sheet,并获取这个sheet的总行数

sheet = xwb.get_sheet('第一个sheet')
rows = sheet.get_rows()

指定名称为“第一个sheet”的sheet,然后获取全部的行

3.4、有了具体的行数,然后保证原有数据不变动的情况下,从第101行写数据

import faker
fake = faker.Faker()
for i in range(len(rows),150):
    sheet.write(i,0,fake.first_name() + ' ' + fake.last_name())
    sheet.write(i,1,fake.address())
    sheet.write(i,2,fake.phone_number())
    sheet.write(i,3,fake.city())

range函数,从len(rows)开始,到150-1结束,共50条。 faker库是制造虚假数据的,这个在前面写数据有用过,循环写入了50条。

3.5、最后保存就可以了

xwb.save('虚假用户数据.xls')

使用xwb,也就是操作之后的workbook对象,直接保存原来的文件名就可以了。

4、总结

本文介绍了Python中常用的三个库:xlrd、xlwt和xlutils,分别用于读取Excel文件、写入Excel文件和处理Excel文件。这些库都有各自的优点和缺点,在实际使用时需要根据具体需求进行选择。

同时,本文还提供了一些示例代码来演示如何使用这些库。通过这些示例代码,读者可以更好地了解这些库的使用方法和操作步骤。

最后,提醒读者注意在使用这些库时要仔细阅读其文档和API,以避免出现不必要的错误。

5、参考资料

  • W3Cschool微课(Python 自动化办公课程)
  • Python官方文档–xlrd
  • Python官方文档–xlwt
  • Python官方文档–xlutils

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

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

相关文章

自学网络安全,一般人我劝你还是算了吧

学前感言: 我为什么会这样说,要一般人自学网络安全就算了,因为我不是一般人 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发 .3.有时多 google,baidu,我们往往…

自学网络安全(黑客)?一般人我劝你还是算了吧!

一、自学网络安全学习的误区和陷阱 1.不要试图以编程为基础的学习开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多 …

IMX6ULL裸机篇之IIC协议

一. IIC实验简介 I2C 是最常用的通信接口,众多的传感器都会提供 I2C 接口来和主控相连。 比如摄像头、 加速度计、触摸屏等。 I.MX6U-ALPHA开发板 使用 I2C1 接口连接了一个距离传感器 AP3216C ,本章我们就来学习如何使用 I.MX6U 的 I2C 接口…

“开启科技之门,每日工作充满力量” —— 全国科技者工作日

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

科技创新—人工智能应用技术的出现

科技创新—人工智能应用技术的出现 人工智能(Artificial Intelligence,AI)研究目的是通过探索智慧的实质,扩展人类智能——促使智能主体会听(语音识别、机器翻译等)、会看(图像识别、文字识别等…

深入解析CPU性能火焰图生成的内部原理

在进行CPU性能优化的时候,我们经常先需要分析出来我们的应用程序中的CPU资源在哪些函数中使用的比较多,这样才能高效地优化。一个非常好的分析工具就是《性能之巅》作者 Brendan Gregg 发明的火焰图。 我们今天就来介绍下火焰图的使用方法,以…

这三款识别图片手写文字的软件超好用

在过去,我们需要通过扫描或者人工录入的方式将手写文字数字化,这样操作不仅繁琐而且容易出错。而随着人工智能技术的发展,我们现在可以通过图片识别技术将手写文字自动识别为数字形态,从而实现自动化的信息处理和提取。这项技术可…

【C语言】经典题目(二)

C站的小伙伴们,大家好呀^^! 这一篇文章是C语言之经典题目,快来跟我一起进入C语言的世界吧!💞 C语言其他刷题篇在这里哦: 【C】语言经典题目(一) 【C语言】字符串—刷题篇 【C语言】经典题目二 求…

java.time包使用指南

目录 前言一、时区与时间1. 世界标准时:UTC、GMT、UT2. 地区时:Asia/Shanghai、UTC83. 时区:ZoneId、TimeZone4. 时间偏移量:ZoneOffset5. 时区简称:CTT、PRC 二、主要时间类1. 重要时间接口:Temporal2. 时…

Uni-app学习从0到1开发一个app——(1)初步了解各种小程序开发框架

文章目录 0 引入1、小程序常用框架1.1、 mpvue1.2、 mpvue1.3、 Tina.js1.4、 WePY1.5 微信官方1.6 TouchUI WX 2、uin-app3、引用 0 引入 uin-app官网地址:https://uniapp.dcloud.net.cn/ 最近对于小程序莫名的感兴趣起来,索性就从uni-app开始吧 1、小…

spring boot使用elasticsearch分词,排序,分页,高亮简单示例

目录 1. 创建ES实体2. 创建查询实体3. 查询方法实现3.1 核心代码3.2 构建查询条件3.2.1 关键词分词 3.3 高亮处理 4.完整查询代码展示 记,写一个简单的es分词demo,es版本6.8.12 如果使用es7有些方法可能会有所改变,请参考7的文档 es安装教程:…

PMP-识别相关方的重要性

一、为什么要识别相关方 每个项目都有相关方,他们会受项目的积极或消极影响,或者能对项目施加积极或消极的影响。有些相关方影响项目工作或成果的能力有限,而有些相关方可能对项目及其期望成果有重大影响。项目经理和团队正确识别并合理引导所…

Apache的日志分割

一、日志分割的作用 我们知道当服务安装完成以后,都会在相关服务下有一个logs文件里面有着访问日志和错误日志。访问日志可以帮我们记录访问者的信息,错误日志一般在服务搭建,服务配置,启动时能够快速寻找错误原因的日志&#xf…

堆的应用(堆排序、TOP - K问题)

前言 🍎 时间复杂度: 🥝 堆排序的最坏时间复杂度为 :O(n*lg(n)) 🥝 TOP - K问题的最坏时间复杂度为:O(n*lg(k)) 🍁前面我们学习了二叉树、以及堆的结构,也用顺序表的结构成功的把堆的…

【uni-app】使用外部组件不显示报错组件未找到解决方案

文章目录 前言一、问题描述二、温馨提示总结 前言 大家好,今天和大家分享一下uni-app使用外部组件不显示报错的一个解决方案,希望能够帮助到大家。 一、问题描述 我在使用uni-app在开发项目时引入了一个外部的组件库,刚开始引入的时候还是…

【复习笔记】FreeRTOS(二)创建和删除任务

本文是FreeRTOS复习笔记的第二节,创建和删除任务,使用的开发板是stm32f407VET6,创建两个任务,task1负责闪烁LED,task2负责按键控制,当按键按下时task1停止执行,任务的状态显示到TFT显示屏和串口…

【数据库系统及应用】— 日志、故障恢复、事务、并发控制、调度、检查点

日志文件是用于记录__________。 A、数据操作 B、程序运行过程 C、程序执行结果 D、对数据的所有更新操作 下列说法正确的是__________。 A、事务故障可以通过运行日志进行恢复 B、介质故障只需将备份恢复到系统中即可实现正确性 C、检查点是指检查发生故障并进行恢复的时刻点…

MySQL 对日期使用 DATE_FORMAT()函数

文章目录 DATE_FORMAT()函数显示今天是星期几只显示年月显示当前时间的分钟数和秒数 DATE_FORMAT()函数 前面使用日期时间函数,获取到的要么是 yyyy-mm-dd 形式的日期,要么是 hh:MM:ss 形式的时间,或者是 yyyy-mm-dd hh:mm:ss 形式的日期及时…

论文解读 | ICRA2022:用深度贝叶斯算法来估计ICP的协方差

原创 | 文 BFT机器人 01 研究背景 在点云处理中,ICP算法是一种常用的点云配准方法,通过将两个或多个点云对齐,可以进行后续的建模、识别和跟踪等处理。 然而,在ICP算法中,协方差估计起着非常重要的作用,它…

网络安全基础免杀

1. 会话提升的几种方式2. armitage的熟悉3. handler生成监听器的方法4. 防止会话假死5. 控制台设置编码6. upx加壳7. msfvenom木马payload持久化8. msfvenom木马编码 正文 免杀1 1. 会话提升的几种方式 python -c "import pty;pty.spawn(/bin/bash);" 会话提升 se…