这篇文章讲python 通过openpyxl来读取Excel文件 不清楚怎么通过openpyxl来写入Excel文件的小伙伴可以看我另一篇文章

传送门python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

1.先下载openpyxl模块

pip install openpyxl

2. 读取Excel基本步骤

先看一下要读取的文件内容(这是没有标头的Excel文件)

import openpyxl  # openpyxl引入模块# 读取 excel文件
def read_to_excel(path: str, sheet: str):# 实例化一个workbook对象workbook = openpyxl.load_workbook(path)# 获取excel文件内的那一个sheetdata = workbook[sheet]# 定义个要输出的总数组return_data = []# data.rows 为表格内的每一行数据# 循环获取表格内的每一行数据for index, row in enumerate(data.rows):# 定义一个空的数组用来存放每一行数据单元格的数据return_row = []for col_index, col_value in enumerate(row):# 获取单元格数据 追加到return_rowreturn_row.append(col_value.value)return_data.append(return_row)# 把遍历出来得每一行数据数据return_row 追加到总数组 return_data中 然后输出return return_dataif __name__ == '__main__':# path 访问文件的路径path = r'D:\Python\Project\demo.xlsx'# Excel 中sheet 的名字sheet = 'Sheet1'# 打印read_to_excel方法print(read_to_excel(path, sheet))

执行以上代码可看到以实际输出的效果

现在输出的只是数组,有时候我们想要的数据中需要是包含key的对象 如 [[{'name': 'John Brown1S'}, {'age': 18}, {'address': 'New York No. 1 Lake Park'}]]

而且 Excel文件文件中还包含着标头信息需要过滤

下面处理数据结构和过滤表头数据

这个有表头的Excel文件

先定义key的值(下面有完整代代码)

在 read_to_excel 中加入红框内的代码(下面有完整代代码)

输出的结果可以看到数据中已经包含了key

不过标题信息也被输出出来了 接下来处理 过滤表头数据

处理表头信息可以在循环中使用if   continue

判断index为0那一行跳出本次循环忽略本次数据 就不会再添加了 如下图

下面是完整的读取Excel文件的代码 ,

import openpyxl  # openpyxl引入模块# 读取 excel文件
def read_to_excel(path: str, sheet: str, info):# 实例化一个workbook对象workbook = openpyxl.load_workbook(path)# 获取excel文件内的那一个sheetdata = workbook[sheet]# 定义个要输出的总数组return_data = []# data.rows 为表格内的每一行数据# 循环获取表格内的每一行数据for index, row in enumerate(data.rows):# 判断index为0那一行跳出本次循环忽略本次数据 就不会再添加了if index == 0:continue# 定义一个空的数组用来存放每一行数据单元格的数据return_row = []for col_index, col_value in enumerate(row):# 获取单元格数据 追加到return_row# 定义一个{}col_obj = {}# 通过col_index索引 使info中key的名字和col_value.value能匹配# info[col_index]获取key# 把 col_value.value赋值给col_obj[info[col_index]]col_obj[info[col_index]] = col_value.valuereturn_row.append(col_obj)return_data.append(return_row)# 把遍历出来得每一行数据数据return_row 追加到总数组 return_data中 然后输出return return_dataif __name__ == '__main__':# path 访问文件的路径path = r'D:\Python\Project\demo.xlsx'# Excel 中sheet 的名字sheet = 'Sheet1'# 在这里定义一个包含key的数组info = ['name', 'age', 'address']print(read_to_excel(path, sheet, info))

写的有点多了 下一篇再写python 通过openpyxl来写入Excel文件吧

更新:

不知道怎么通过openpyxl来写入Excel文件的小伙伴可以看我另一篇文章

传送门python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

python 通过openpyxl来操作Excel文件(一 ):读取Excel文件相关推荐

  1. python 通过openpyxl来操作Excel文件(二 ):写入Excel文件

    这篇文章讲python 通过openpyxl来写入Excel文件,不清楚python怎么读取Excel文件的小伙伴可以去看下我的另一篇文章 传送门https://blog.csdn.net/i_cof ...

  2. Python常用小技巧(五)——批量读取json文件

    Python常用小技巧(五)--批量读取json文件 前言:其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片 ...

  3. python读取excel绘图_python3读取excel绘图-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 centos下编译安装 pyth ...

  4. Python 将数据写入pkl文件,读取pkl文件

    Python 将数据写入pkl文件,读取pkl文件 写入pkl文件 data = {"name": ["李明", "胡莉"]} with o ...

  5. 【Python基础】生成.pkl文件,读取.pkl文件的内容

    保存 def save_dict(data, name):with open(name + '.pkl', 'wb') as f:pickle.dump(data, f, pickle.HIGHEST ...

  6. android读取assets中的html文件,android读取assets文件.htm

    android读取assets文件 android读取assets文件 style='FONT-SIZE: 14px; FONT-FAMILY: verdana, "ms song" ...

  7. java+读取source资源_如何从JavaJAR文件中读取资源文件?

    如何从JavaJAR文件中读取资源文件? 我试图从一个单独的JAR文件中访问一个XML文件,这个JAR是作为桌面应用程序运行的.我可以获得我需要的文件的URL,但是当我将它传递给FileReader( ...

  8. C#不用ArcEngine,生成Shp文件(五)---------读取.shx文件和生成.shx文件

    这一篇来写一下.shx文件的读取跟生成.测试数据下载地址为:http://download.csdn.net/detail/gis0911178/9650967 在第一篇时候有介绍. 索引文件(.sh ...

  9. 第四章:数据存储-csv文件处理-读取csv文件的两种方式

    直接学习:https://edu.csdn.net/course/play/24756/280718 csv文件处理-读取csv文件的两种方式: # 这种方式读取到的每一条数据是个列表,所以需要通过下 ...

最新文章

  1. 嵌入式中常见的几个死循环:
  2. Windows下VS2013 C++编译测试faster-rcnn
  3. 20175221曾祥杰 实验四《Android程序设计》
  4. Vue学习(组件的定义及调用、路由)-学习笔记
  5. Android开发之如何在debug模式下打出release正式包
  6. bms_output.put_line使用方法
  7. Java在ACM中的应用
  8. r语言 xmlto html,使用R语言将XML转换为CSV(示例代码)
  9. tableview 添加手势_【iOS12+Swift5】如何在tableViewController里面给Cell添加手势
  10. cpu占用高 mongo_排查MongoDB CPU使用率高的问题
  11. python2线程池_python 线程池
  12. 【系统分析师之路】第十七章 复盘多媒体基础知识
  13. Spring JtaTransactionManager事务管理
  14. Java业内主流框架你知道吗?SSH和SSM有什么区别?
  15. 第2章 关系数据库练习题
  16. 数据挖掘导论课后习题答案-第七章
  17. VSS(Visual SourceSafe)使用方法
  18. linux视频mp4无法播放器,mplayer播放器无法正常输出视频
  19. SylixOS学习一—— SylixOS启程之旅 虚拟机配置
  20. 05JS实现弹性相册

热门文章

  1. 04【通货膨胀和投资陷阱】 货币贬值
  2. 自动化方向的EI期刊
  3. SDU数据仓库与数据挖掘 重要算法提纲
  4. 《百面机器学习》读书笔记(十一)-强化学习
  5. 网上商城java实现毕业论文,毕业论文--基于Java的网上商城系统的设计与实现
  6. ISO20000认证怎么办理,需要什么材料
  7. cannot create temp file for here-document: No space left on device解决方案
  8. 6-3 计算Fibonacci数列每一项时所需的递归调用次数
  9. 狐火浏览器禁用JavaScript方法
  10. 概率检索模型+模糊k近邻+粒子群优化算法(PSO)