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动态性强类型用法实例
May 09 Python
Linux下用Python脚本监控目录变化代码分享
May 21 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
Python随机函数random()使用方法小结
Apr 29 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
python openpyxl使用方法详解
Jul 18 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
了解一下python内建模块collections
Sep 07 Python
python中HTMLParser模块知识点总结
Jan 25 Python
python实现b站直播自动发送弹幕功能
Feb 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
PHP序列化操作方法分析
2016/09/28 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
jquery动态添加option示例
2013/12/30 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
跟老齐学Python之集合(set)
2014/09/24 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Python入门之后再看点什么好?
2018/03/05 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
python调用接口的4种方式代码实例
2019/11/19 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
博士研究生自我鉴定范文
2013/12/04 职场文书
建筑设计学生的自我评价
2014/01/16 职场文书
师生聚会感言
2014/01/26 职场文书
高中教师评语大全
2014/04/25 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
离职证明范本
2015/06/12 职场文书
浅谈python数据类型及其操作
2021/05/25 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Java 在线考试云平台的实现
2021/11/23 Java/Android
详解Python如何批量采集京东商品数据流程
2022/01/22 Python