python3:excel操作之读取数据并返回字典 + 写入的案例


Posted in Python onSeptember 01, 2020

excel写入数据,使用openpyxl库

class WriteExcel:
 def __init__(self,path):
  self.path = path
 
 def write_excel(self, sheet_name, content):
  """
  在excel指定sheet中的写入指定内容,以追加方式
  :return:
  """
  wb = openpyxl.load_workbook(self.path)
  ws = wb[sheet_name]
  # 获取最大行
  row_num = ws.max_row
  try:
   ws.cell(row=row_num+1, column=1).value = content
  except Exception as msg:
   print('写入excel失败:', msg)
  finally:
   wb.save(self.path) 
 
if __name__ == '__main__':
 WE = WriteExcel('../config/data.xlsx')
 WE.write_excel(sheet_name='user', content='瑟瑟发抖')

python3:excel操作之读取数据并返回字典 + 写入的案例

excel读取数据,使用xlrd库

class ReadExcel:
 def __init__(self,path):
  self.path = path
 
 def read_excel(self,row):
  """
  遍历excel所有sheet,并以字典返回
  :param row:
  :return:
  """
  with xlrd.open_workbook(self.path, 'rb') as book:
   sheets = book.sheet_names() # 找到所有sheets
   data_dict = {}
   for sheet in sheets:
    table = book.sheet_by_name(sheet) # 找到要操作的sheet
 
    # 获取sheet所有列数
    col_num = table.ncols
    # 读取第一行的值,作为每个sheet返回字典的key
    keys = table.row_values(0)
 
    # 读取除指定行,作为每个sheet返回字典的value
    values = table.row_values(row)
 
    # 遍历所有列,并以字典接收,其中第一行作为字典的key,其他行作为字典的value
    sheet_dict = {}
    for col in range(col_num):
     sheet_dict[keys[col]] = values[col]
 
   # 遍历所有sheet,并以字典接收返回,其中sheet名称作为字典的key,每个sheet的数据作为字典的value
    data_dict[sheet] = sheet_dict
  return data_dict

python3:excel操作之读取数据并返回字典 + 写入的案例

读取结果:

python3:excel操作之读取数据并返回字典 + 写入的案例

补充知识:Python+selenium+ddt数据驱动测试

我就废话不多说了,大家还是直接看代码吧~

import ddt
 
testData = ['1','2','3']
print testData
 
@ddt.ddt
class Bolg(unittest.TestCase):
  
  def setUp(self):
    print('setUp')
 
  @ddt.data(*testData)
  def test_l(self, data):
    print(data)
 
  def tearDown(self):
    print('tearDown')
 
if __name__ == "__main__":
  unittest.main()
 
============
1
2
3

以上这篇python3:excel操作之读取数据并返回字典 + 写入的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
Python基于property实现类的特性操作示例
Jun 15 Python
Django 表单模型选择框如何使用分组
May 16 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
Sep 20 Python
opencv3/C++实现视频背景去除建模(BSM)
Dec 11 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Python生成器generator原理及用法解析
Jul 20 Python
openCV提取图像中的矩形区域
Jul 21 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 Python
Matplotlib绘制混淆矩阵的实现
May 27 Python
python多次执行绘制条形图
Apr 20 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 #Python
Django如何批量创建Model
Sep 01 #Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 #Python
一文详述 Python 中的 property 语法
Sep 01 #Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 #Python
聊聊python中的异常嵌套
Sep 01 #Python
理解Django 中Call Stack机制的小Demo
Sep 01 #Python
You might like
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
JS事件在IE与FF中的区别详细解析
2013/11/20 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
2017/12/19 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python 装饰器重要在哪
2021/02/14 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
英国工具中心:UK Tool Centre
2017/07/10 全球购物
119消防日活动总结
2014/08/29 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
经验交流材料格式
2014/12/30 职场文书
护士先进个人总结
2015/02/13 职场文书
同学毕业留言寄语
2015/02/27 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
任命通知范文
2015/04/21 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
nginx rewrite功能使用场景分析
2022/05/30 Servers