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

作者:放开那只大熊猫 时间:2023-11-25 17:59:22 

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

来源:https://blog.csdn.net/yijinaqingan/article/details/105794433

标签:python3,excel,读取,字典,写入
0
投稿

猜你喜欢

  • 浅谈基于Pytest框架的自动化测试开发实践

    2022-12-20 10:02:44
  • Python中的模块和包概念介绍

    2023-06-06 09:13:53
  • SQL Server并发处理存在就更新解决方案探讨

    2024-01-17 16:54:06
  • python动态网站爬虫实战(requests+xpath+demjson+redis)

    2023-03-30 20:01:51
  • python教程十行代码教你语音转文字QQ微信聊天

    2024-01-03 09:06:54
  • Python OpenCV去除字母后面的杂线操作

    2023-08-02 15:18:47
  • vue.js选中动态绑定的radio的指定项

    2024-04-27 16:13:25
  • win2003 Server配置SQL Server 2005远程连接的方法

    2024-01-17 10:09:06
  • 如何用Python实现自动发送微博

    2021-04-05 22:47:32
  • Python图像处理库PIL中图像格式转换的实现

    2022-03-14 04:13:59
  • MS SQL2000 数据库自动备份方法

    2010-07-22 19:52:00
  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    2023-09-06 22:11:25
  • Javascirpt打造“互动指针”特效

    2013-08-06 07:37:52
  • 阿里巴巴工程师分享MySQL经验

    2010-04-22 16:21:00
  • 详解Python的Django框架中的中间件

    2024-01-02 20:46:38
  • js操作两个json数组合并、去重,以及删除某一项元素

    2024-04-18 10:58:23
  • python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    2022-08-26 07:14:52
  • JS组件Bootstrap Select2使用方法解析

    2024-04-16 09:49:36
  • Python如何合并多个字典或映射

    2023-11-07 17:20:51
  • 基于MSELoss()与CrossEntropyLoss()的区别详解

    2022-05-17 19:18:27
  • asp之家 网络编程 m.aspxhome.com