有手就会Python读取xls格式的文件

2024-03-23 21:44
文章标签 python 读取 格式 xls 有手

本文主要是介绍有手就会Python读取xls格式的文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.Excel简介

  • Excel 是 Microsoft(微软)为使用 Windows 和 macOS 操作系统开发的一款电子表格软件。Excel 凭借其直观的界面,出色的计算功能和图表工具,再加上成功的市场营销,一直依赖都是流行的个人计算机数据处理软件。当然,Excel 也有很多竞品,例如 Google Sheets、LibreOffice Caic、Numbers 等,这些竞品基本上也能够兼容 Excel,至少能够读写较新版的 Excel 文件,当然这些不是我们讨论的重点。掌握用 Python 程序操作 Excel 文件,可以让日常办公自动化的工作更加轻松愉快,而且再很多商业项目中,导入导出 Excel 文件都是特别常见的功能

  • Python 操作 Excel 需要三方库的支持,如果要兼容 Excel 2007 以前的版本,也就是 xls 格式的 Excel 文件,可以使用三方库 xlrd 和 xlwt,前者用于读 Excel文件,后者用于写 Excel 文件。如果使用较新的 Excel,即操作 xlsx 格式的 Excel 文件,可以使用 openpyxl 库,当然这个库不仅仅可以操作 Excel,还可以操作其他基于 Office Open XML 的电子表格文件、openpyxl 并不是支持 Office 2007 以前版本的 Excle 文件

2.xls 和 xlsx 和 csv 有什么区别

  • 文件格式不同。xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,而 xlsx 的核心结构式 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此

  • 版本不同。xls 是 excel 2003 及以前版本生成的文件格式,而 xlsx 是 excel 2007 及以后版本生成的文件格式

  • 兼容性不同。xlsx 格式是向下兼容的,可兼容 xls 格式

  • csv 是文本文件,用记事本就能打开

3.基于 xlwt 和 xlrd 操作 Excle 文件

  • 可以使用下面的命令安装这两个三方库以及配合使用的工具模块 xlutils

pip install xlwt    # 用于向xls格式的文件中写入内容 Successfully installed xlwt-1.3.0
pip install xlrd    # 用于从xls格式的文件中读取内容 Successfully installed xlrd-2.0.1
pip install xlutils    # 工具模块 Successfully installed xlutils-2.0.0

4.读 xls 格式文件

  • 例如再当前文件夹下有一个名为“阿里巴巴2020年股票数据.xls”的 Excel文件,如果想读取并显示该文件的内容,可以通过如下所示的代码

# 导入 xlrd 模块
import xlrd# 读取 xls 文件的中作对象
wb = xlrd.open_workbook(r"./阿里巴巴2020年股票数据.xls")
# print(wb)# 获取所有的工作表名称
sheet_names = wb.sheet_names()
# print(sheet_names)# 选择要读取的具体的工作表对象
sheet = wb.sheet_by_name(sheet_names[0])
# print(sheet)# 查看工作表的行和列数
# print(sheet.nrows, sheet.ncols)# 通过循环的方式获取工作表中的每行和每列的数据
for row in range(sheet.nrows):for col in range(sheet.ncols):# print(row, col)# 通过cell对象中的value属性获取具体单元格的数据value = sheet.cell(row, col).value# print(value)# 将第一行以外的数据进行格式化处理if row > 0:# 将第一列的数据转换为年月日的格式if col == 0:value = xlrd.xldate_as_tuple(value, 0)# print(value)    # (2020, 11, 13, 0, 0, 0)# :>02d 表示月份和日期保留2位(01月08日)value = f"{value[0]}年{value[1]:>02d}月{value[2]:02d}日"# print(value)    # 2020年10月01日else:# 将处理第一列的数据之外的数据格式保留2位小数value = f"{value:.2f}"print(value, end="\t")print()    # 实现换行的效果
  • 执行结果

Date    High    low    Open    Close    Volume    Adj Close    
2020年12月01日    213.63    210.73    211.47    212.48    673600.00    212.11    
2020年12月02日    214.63    211.73    212.47    213.48    673601.00    213.11    
2020年12月03日    215.63    212.73    213.47    214.48    673602.00    214.11    
2020年12月04日    216.63    213.73    214.47    215.48    673603.00    215.11    
2020年12月05日    217.63    214.73    215.47    216.48    673604.00    216.11    
2020年12月06日    218.63    215.73    216.47    217.48    673605.00    217.11    
2020年12月07日    219.63    216.73    217.47    218.48    673606.00    218.11    
2020年12月08日    220.63    217.73    218.47    219.48    673607.00    219.11    
2020年12月09日    221.63    218.73    219.47    220.48    673608.00    220.11    
2020年12月10日    222.63    219.73    220.47    221.48    673609.00    221.11    
2020年12月11日    223.63    220.73    221.47    222.48    673610.00    222.11    
2020年12月12日    224.63    221.73    222.47    223.48    673611.00    223.11    
2020年12月13日    225.63    222.73    223.47    224.48    673612.00    224.11    
2020年12月14日    226.63    223.73    224.47    225.48    673613.00    225.11    
2020年12月15日    227.63    224.73    225.47    226.48    673614.00    226.11    
2020年12月16日    228.63    225.73    226.47    227.48    673615.00    227.11    
2020年12月17日    229.63    226.73    227.47    228.48    673616.00    228.11    
2020年12月18日    230.63    227.73    228.47    229.48    673617.00    229.11    
2020年12月19日    231.63    228.73    229.47    230.48    673618.00    230.11    
2020年12月20日    232.63    229.73    230.47    231.48    673619.00    231.11

这篇关于有手就会Python读取xls格式的文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/839591

相关文章

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

Python实现中文文本处理与分析程序的示例详解

《Python实现中文文本处理与分析程序的示例详解》在当今信息爆炸的时代,文本数据的处理与分析成为了数据科学领域的重要课题,本文将使用Python开发一款基于Python的中文文本处理与分析程序,希望... 目录一、程序概述二、主要功能解析2.1 文件操作2.2 基础分析2.3 高级分析2.4 可视化2.5

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

Python实现终端清屏的几种方式详解

《Python实现终端清屏的几种方式详解》在使用Python进行终端交互式编程时,我们经常需要清空当前终端屏幕的内容,本文为大家整理了几种常见的实现方法,有需要的小伙伴可以参考下... 目录方法一:使用 `os` 模块调用系统命令方法二:使用 `subprocess` 模块执行命令方法三:打印多个换行符模拟

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python 字典 (Dictionary)使用详解

《Python字典(Dictionary)使用详解》字典是python中最重要,最常用的数据结构之一,它提供了高效的键值对存储和查找能力,:本文主要介绍Python字典(Dictionary)... 目录字典1.基本特性2.创建字典3.访问元素4.修改字典5.删除元素6.字典遍历7.字典的高级特性默认字典