【web测试】数据驱动

  • python操作文件
    • txt文件
    • csv格式
    • excel文件
    • json格式
    • xml文件
    • yaml格式

python操作文件

txt文件

# 读取r 写入w;rb-二进制读取;wb-二进制写
f = open("./yyy.txt", "r", encoding="utf-8")print(f.readline())  # 读第一行
print(f.readline())  # 读第二行print(f.read())  # 数据量大时不用print(f.readlines())  # 每一行都放到列表里,是列表里的一个值

csv格式

逗号分隔值,字符分隔值文件:用纯文本的形式存储表格数据

import csvf = open("aaa.csv", "r", encoding="utf-8")
c = csv.reader(f)
for cs in c:print(cs)

excel文件

csv以文本形式保存文件,只保存数据
excel是二进制文件,存储数据和相关公式命令等
pip install xlrd==1.2.0(直接使用pip install xlrd,默认安装的是2.0版本,此版本不支持.xlsx格式)

import xlrd# 已经封装好,不需要再写open
lsx = xlrd.open_workbook("aaa.xlsx")
# 获取第一个表
sheet = lsx.sheet_by_index(0)
# 获取行数
print(sheet.nrows)
# 获取列数
print(sheet.ncols)
# 拿第一行数据
print(sheet.row_values(0))
# 循环读取
for i in range(sheet.nrows):print(sheet.row_values(i))

json格式

轻量级的数据交换格式,上传,下载时都会用到

# 直接打开json文件
json_str = '''
[{"name": "张三","sex":"男","age": 18},{"name": "李四","sex":"女","age": 19},{"name": "王五","sex":"男","age": 20}]
'''
json_str2 = open("aaa.json", "r", encoding="utf-8").read()
print(json_str2)
print(json_str)import json# 读出json文件中的值
json_ob = json.loads(json_str)
print(json_ob)
print(type(json_ob)) # list
# 获取第一个字典中的name
print(json_ob[0]["name"])
# print(json_str[0]["name"])  # TypeError: string indices must be integers
# 将python结构转化为json
print(json.dumps(json_ob, ensure_ascii=False))  # 中文编码自动转成ASCII码

xml文件

可扩展的标记语言文件,用于存储和传输数据,标签可自定义,有结构的树状文档

<?xml version="1.0" encoding="utf-8" ?>
<bookstore><book category="COOKING"><title lang="en">Everyday Italian</title><author>Giada De Laurentiis</author><year>2005</year><price>30.00</price></book><book category="CHILDREN"><title lang="en">Harry Potter</title><author>J K. RowLing</author><year>2005</year><price>29.99</price></book><book category="WEB"><title lang="en">Learn XML</title><author>Erik T. Ray</author><year>2003</year><price>39.59</price></book>
</bookstore>
import xml.etree.cElementTree as ET
# 用树的方式解析xml
tree = ET.parse("book.xml")
# 根
root = tree.getroot()
# 根标签
print(root.tag)
# 根属性
print(root.attrib)
# 根文本
print(root.text)
# 遍历孩子
for child in root:print(child.tag)print(child.attrib)print(child.text)for children in child:print(children.tag)print(children.attrib)print(children.text)

yaml格式

json与xml相结合的,表达数据序列化的格式,以数据为中心
基本语法规则:
1.大小写敏感
2.缩进,不允许用tab,只许用空格
3.缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
4.# 注释
python操作yaml需要先安装模块pip install pyyaml

animals:- Cat- Dog- Goldfish
websites:YAML: yaml.orgRuby: ruby-lang.orgPython: python.orgPerl: use.perl.org
import yamlyaml_str = "animal: pets"yaml_str1 = open("aaa.yaml","r",encoding="utf-8").read()# yaml转换成对象
yaml_ob = yaml.load(yaml_str1, Loader=yaml.FullLoader)
print(yaml_ob)

【web测试】不同格式的文件操作(txt,csv,excel,json,xml,yaml)相关推荐

  1. [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  2. python将列表写入文件_Python将列表数据写入文件(txt, csv,excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') f ...

  3. TXT是什么格式的文件?txt文件误删如何恢复?

    最近有小伙伴问小编TXT是什么格式的文件,相信你也有同款疑惑.我们在电脑桌面的任意空白处右键,就可以看到里面有一个文本文档,这就是TXT文档.关于txt文件的格式是什么,可以接着往下看. 一.TXT是 ...

  4. Python文件数据处理之csv、json、xml、txt、excel等文本文件写入、读取、合并等操作汇总

    目录 一.CSV 文件操作 1.1.文件写入 1.1.1.pandas库方法 1.1.2.csv库方法 1.2.文件读取 1.2.1. 有标题栏的情况 1.2.2.无标题栏的情况 二.json 文件操 ...

  5. js导出的xlsx无法打开_js文件操作之——导出Excel (js-xlsx)

    前阵子跟server同学讨论一个Excel导出的需求,我说JS搞不定,需要server来做,被server同学强行打脸. 今天研究了下,尼玛,不光可以,还很强大了! 总结:经验是害人的,尤其是在发展迅 ...

  6. python将列表写入csv_转:Python 将列表数据写入文件(txt, csv, excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') f ...

  7. python列表数据写入txt文件_Python将列表数据写入文件(txt, csv,excel)

    写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') f ...

  8. windows 搜索文件内容 txt 、excel 、word、c、java 、压缩文件 等文件内容

    我的系统是win10,win7好像也可以 方法一 直接在搜索的位置输入 内容:要搜索的文件里面内容的关键字.如下图: 注:这样搜索 只有列出 文件里的内容包含搜索内容的文件,与文件名无关. 方法二 直 ...

  9. pyspark —— spark dataframe 从hdfs读写文件:按照指定文件格式读写文件(读写csv、json、text文件,读取hive表,读取MySQL表)、按照指定分隔符读写文件

    spark有3种数据结构--RDD.DataFrame.DataSet.这里展示的文件读写方式,都是针对dataFrame数据结构的,也就是文件读进来之后,是一个spark dataFrame. 0. ...

最新文章

  1. OpenCV中直方图反向投影算法详解与实现
  2. 关于Mysql5.6半同步主从复制的开启方法【转】
  3. Xilinx ISE 调用 ModelSim SE 库编译
  4. C# typeof Gettype is as 拆箱 装箱
  5. 滚动触发的翻转式文字引用效果
  6. linux——管理系统存储之设备分区:MBR分区、GPT分区、swap的分区的设定
  7. 华为今年不会发布鸿蒙系统的手机,谷歌终于放下心了,华为:今年不会有鸿蒙系统的手机开售...
  8. python3下载文件
  9. odps新手上路之安装Eclipse开发环境
  10. access数据库为什么一直登陆_为什么要养成用Access数据库保存数据的习惯?
  11. React学习,Babel ES6兼容运行使用的命令行整理
  12. linux下的RPC
  13. windows server 2003 IIS下配置PHP
  14. c语言中cnthe普通变量,不得不说,关于 *(unsigned long *) 和 (unsigned long)
  15. 2022-8-4用GPS模块和Arduino制作一个多功能车辆测速仪
  16. 微信小程序也可以实现定位打卡/签到打卡了(附源码)
  17. linux如何进入redis客户端,如何在linux下安装redis及客户端的连接
  18. 传感器:HC-SR04超声波传感器原理(底部附代码)
  19. 程序员如何管理自己的代码
  20. 微信小程序两种跳转页面的方法

热门文章

  1. 执行时长 为了充分发挥GPU算力需要尽可能多的将任务交给GPU执行
  2. 企业电子招标采购系统源码Spring Cloud + Spring Boot 前后端分离 + 二次开发
  3. 字符串常见方法总结:方法的作用、参数、返回值(构造方法可省略)1. 构造方法2. 静态方法3. 其它方法
  4. 飞桨十大中文NLP开源工具详解
  5. You can't specify target table ''
  6. 202313读书笔记|《山居七年》——我只想在广袤璀璨的星河里享受生的鲜活,独自飞,游走
  7. 商品选择和陈列上存在的诸多问题
  8. 糟糕的设计会为我们的工作带来什么启发?
  9. hoj 2715 (费用流 拆点)
  10. 企业支付 开通 企业付款到零钱 开通条件 已解决