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的Scrapy爬虫框架简单学习笔记
Jan 20 Python
如何在Python中编写并发程序
Feb 27 Python
Python采用Django开发自己的博客系统
Sep 29 Python
简单的python后台管理程序
Apr 13 Python
Python操作csv文件实例详解
Jul 31 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
Python imread、newaxis用法详解
Nov 04 Python
Python学习笔记之函数的参数和返回值的使用
Nov 20 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
浅谈Python中的正则表达式
Jun 28 Python
浅析python中特殊文件和特殊函数
Feb 24 Python
Pillow图像处理库安装及使用
Apr 12 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
学习面向对象之面向对象的术语
2010/11/30 Javascript
JS 表单验证大全
2011/11/23 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
python选择排序算法的实现代码
2013/11/21 Python
python 读入多行数据的实例
2018/04/19 Python
python实现随机漫步算法
2018/08/27 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python字符串反转的四种方法详解
2019/12/02 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
python实现梯度下降法
2020/03/24 Python
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
俄罗斯香水和化妆品购物网站:Л’Этуаль
2018/05/10 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
法语专业求职信
2014/07/20 职场文书
租房协议书范文
2014/08/20 职场文书
追悼会答谢词范文
2015/09/29 职场文书
Python爬取某拍短视频
2021/06/11 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS
Go语言编译原理之源码调试
2022/08/05 Golang