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 相关文章推荐
python模拟enum枚举类型的方法小结
Apr 30 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
python机器学习实战之K均值聚类
Dec 20 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
python中协程实现TCP连接的实例分析
Oct 14 Python
Python模块 _winreg操作注册表
Feb 05 Python
python利用pytesseract 实现本地识别图片文字
Dec 14 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 Python
Python实现信息轰炸工具(再也不怕说不过别人了)
Jun 11 Python
python析构函数用法及注意事项
Jun 22 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
开发大型 PHP 项目的方法
2007/01/02 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
PHP 多进程 解决难题
2009/06/22 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
PHP中session变量的销毁
2014/02/27 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
js中iframe调用父页面的方法
2014/10/30 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
深入了解Python数据类型之列表
2016/06/24 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
简单了解什么是神经网络
2017/12/23 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
html5手机端页面可以向右滑动导致样式受影响的问题
2018/06/20 HTML / CSS
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
关于VPN
2012/06/10 面试题
考博自荐信
2013/10/25 职场文书
运动会广播稿50字
2014/01/26 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle