百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python使用xlrd和xlwt读写Excel的简单用法

off999 2024-10-08 06:17 22 浏览 0 评论

前言

数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件。因此用Python 进行数据相关的工作时,难免要和 Excel 打交道。

标准的 Excel 文件(xls/xlsx)具有较复杂的格式,并不方便像普通文本文件一样直接进行读写,需要借助第三方库来实现。

常用的库是 python-excel 系列:

xlrd、xlwt、xlutils

  • xlrd - 读取 Excel 文件

  • xlwt - 写入 Excel 文件

  • xlutils - 操作 Excel 文件的实用工具,如复制、分割、筛选等

库的安装

它们有个缺陷,就是只能处理 xls 文件。如果你想用新版本的 xlsx,可以考虑 openpyxl 和 xlsxwriter。

如果你只是装了Python的话,你需要分别安装xlrd、xlwt、xlutils,安装方式看个人情况,为了方便,建议安装pip包,这样安装很简单,直接pip install 包名。如果你安装了集成环境,比如anaconda,我已安装,已经有了 xlrd 和 xlwt,所以我只需要再安装xlutils即可。

分析Excel文件的层级对象

要读取excel的数据,就要了解excel的结构,根据excel的结构一层一层的去读取数据。

excel有三层级对象,workbook,sheet,和cell。一个excel文件就是一个workbook,所以在最初我们必须要打开这个excel文件,也就是workbook。sheet我们都很熟悉,就是表,我们都知道一个excel文件有时候会有很多的表,所以我们必须要选择是读取哪个表的数据,最后才是cell,cell其实就是格子,excel的表格就是一个二维数组,cell就是这个表格中的最小单元,也就是我们读取数据存储的地方。

xlrd库的使用

更多内容,参考链接:

http://xlrd.readthedocs.io/en/latest/

http://xlrd.readthedocs.io/en/latest/api.html

首先读取ad.xlsx表中的数据。先看一下代码:

#-*- coding:utf-8 -*-

import xlrd

#打开xlsx文件

ad_wb = xlrd.open_workbook("ad.xlsx")

#获取第一张表的名称

row_data = ad_wb.sheets()[0]

print ("表单数量:", ad_wb.nsheets)

print ("表单名称:", ad_wb.sheet_names())

#获取第一个目标表单

sheet_0 = ad_wb.sheet_by_index(0)

print (u"表单 %s 共 %d 行 %d 列" % (sheet_0.name, sheet_0.nrows, sheet_0.ncols))

print ("第三行第三列:", sheet_0.cell_value(2, 2))

#直接输出日期

date_value = xlrd.xldate_as_tuple(sheet_0.cell_value(2,2),ad_wb.datemode)

date1 = xlrd.xldate.xldate_as_datetime(sheet_0.cell_value(2, 2), ad_wb.datemode)

print (date_value)#元组

print (date1)#日期

# 遍历所有表单,由于数据量大 ,这里只取前10条

for s in ad_wb.sheets():

for r in range(0, 10):

# 输出指定行

print (s.row(r))

可以看到,上面的日期,已经被转换成了Excel的日期,这里是以数字类型展示的。

因为这里 xldate 有自己的格式定义。如果要使用正确的格式,必须转换:

new_date= xlrd.xldate.xldate_as_datetime(date, book.datemode)

date 是对应单元格的数据,book 是打开的文件对象。

可以看到我重新输出了日期结果(具体见代码)。

另外,在打开文件时,加上参数 formatting_info=True,可以保证在时间数据在 copy 时保持原样。

写入时间数据,则可通过此方法创建 excel 的时间对象:

xlrd.xldate.xldate_from_datetime_tuple

或者通过 xlwt.easyxf 指定时间格式:

style = xlwt.easyxf(num_format_str='D-MMM-YY')
ws.write(1, 0, datetime.now(), style)

xlrd常用的方法:

·open_workbook 打开文件

·sheet_by_index 获取某一个表单

·sheets 获取所有表单

·cell_value 获取指定单元格的数据

xlwt库的使用

先看一个示例代码:

#-*-coding:utf-8 -*-

import xlwt

#创建xls文件对象

wb = xlwt.Workbook()

#新建表单

sh = wb.add_sheet('A new sheet')

#按位置添加数据,前面两个参数是位置,后面一个是单元格内容

sh.write(0, 0, 'hello')

sh.write(1, 0, 'world')

sh.write(2, 0, 1234567)

sh.write(2, 1, '2017-04-10')

#保存文件

wb.save('xlwt_test.xls')

生成的文件如下所示:

xlwt常用的方法:

·Workbook 创建文件对象

·add_sheet 新增一个表单

·write 在指定单元格写入数据

小结

上面就是今天的主题内容了,今天分享下如何使用Python操作Excel进行读写文件,这对于经常处理相同格式的表格有很大帮助。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

如果想快速联系我,欢迎关注微信公众号:AiryData。

如需转载,请联系授权,谢谢合作。

相关推荐

pip的使用及配置_pip怎么配置

要使用python必须要学会使用pip,pip的全称:packageinstallerforpython,也就是Python包管理工具,主要是对python的第三方库进行安装、更新、卸载等操作,...

Anaconda下安装pytorch_anaconda下安装tensorflow

之前的文章介绍了tensorflow-gpu的安装方法,也介绍了许多基本的工具与使用方法,具体可以看Ubuntu快速安装tensorflow2.4的gpu版本。pytorch也是一个十分流行的机器学...

Centos 7 64位安装 python3的教程

wgethttps://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz#下载指定版本软件安装包tar-xzfPython-3.10.1...

如何安装 pip 管理工具_pip安装详细步骤

如何安装pip管理工具方法一:yum方式安装Centos安装python3和python3-devel开发包>#yuminstallgcclibffi-develpy...

Python入门——从开发环境搭建到hello world

一、Python解释器安装1、在windows下步骤1、下载安装包https://www.python.org/downloads/打开后选择【Downloads】->【Windows】小编是一...

生产环境中使用的十大 Python 设计模式

在软件开发的浩瀚世界中,设计模式如同指引方向的灯塔,为我们构建稳定、高效且易于维护的系统提供了经过验证的解决方案。对于Python开发者而言,理解和掌握这些模式,更是提升代码质量、加速开发进程的关...

如何创建和管理Python虚拟环境_python怎么创建虚拟环境

在Python开发中,虚拟环境是隔离项目依赖的关键工具。下面介绍创建和管理Python虚拟环境的主流方法。一、内置工具:venv(Python3.3+推荐)venv是Python标准...

初学者入门Python的第一步——环境搭建

Python如今成为零基础编程爱好者的首选学习语言,这和Python语言自身的强大功能和简单易学是分不开的。今天千锋武汉Python培训小编将带领Python零基础的初学者完成入门的第一步——环境搭建...

全网最简我的世界Minecraft搭建Python编程环境

这篇文章将给大家介绍一种在我的世界minecraft里搭建Python编程开发环境的操作方法。目前看起来应该是全网最简单的方法。搭建完成后,马上就可以利用python代码在我的世界自动创建很多有意思的...

Python开发中的虚拟环境管理_python3虚拟环境

Python开发中,虚拟环境管理帮助隔离项目依赖,避免不同项目之间的依赖冲突。虚拟环境的作用隔离依赖:不同项目可能需要不同版本的库,虚拟环境可以为每个项目创建独立的环境。避免全局污染:全局安装的库可...

Python内置zipfile模块:操作 ZIP 归档文件详解

一、知识导图二、知识讲解(一)zipfile模块概述zipfile模块是Python内置的用于操作ZIP归档文件的模块。它提供了创建、读取、写入、添加及列出ZIP文件的功能。(二)ZipFile类1....

Python内置模块pydoc :文档生成器和在线帮助系统详解

一、引言在Python开发中,良好的文档是提高代码可读性和可维护性的关键。pydoc是Python自带的一个强大的文档生成器和在线帮助系统,它可以根据Python模块自动生成文档,并支持多种输出格式...

Python sys模块使用教程_python system模块

1.知识导图2.sys模块概述2.1模块定义与作用sys模块是Python标准库中的一个内置模块,提供了与Python解释器及其环境交互的接口。它包含了许多与系统相关的变量和函数,可以用来控制P...

Python Logging 模块完全解读_python logging详解

私信我,回复:学习,获取免费学习资源包。Python中的logging模块可以让你跟踪代码运行时的事件,当程序崩溃时可以查看日志并且发现是什么引发了错误。Log信息有内置的层级——调试(deb...

软件测试|Python logging模块怎么使用,你会了吗?

Pythonlogging模块使用在开发和维护Python应用程序时,日志记录是一项非常重要的任务。Python提供了内置的logging模块,它可以帮助我们方便地记录应用程序的运行时信息、错误和调...

取消回复欢迎 发表评论: