iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python+txt构建测试数据
  • 932
分享到

使用python+txt构建测试数据

测试数据pythontxt 2023-01-31 01:01:09 932人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一、背景    有4张表,每张表要插入多条测试数据。如若还有同种需求,于是写了一个脚本,来添加数据。二、代码#--coding:utf8-- import pyMysql class InsertTestData(object):   

一、背景

    有4张表,每张表要插入多条测试数据。如若还有同种需求,于是写了一个脚本,来添加数据。


二、代码

#--coding:utf8--
import pyMysql


class InsertTestData(object):
    STUDENT_FILE = 'Student.txt'
    COURSE_FILE = 'Course.txt'
    TEACHER_FILE = 'Teacher.txt'
    SCORE_FILE = 'Score.txt'

    def __init__(self):
        self.connect = pymysql.Connect(
            host = 'localhost',
            port = 3306,
            user = 'root',
            # passwd = ' ',
            charset = 'utf8'
        )
        self.database = 'execersise_test'

    def read_lines(self, filename):
        dict = {}
        file_name = filename.split('.')[0]
        dict['file_name'] = file_name
        with open(filename) as f:
            lines = f.readlines()
        dict['file_content'] = lines
        return dict

    def connect_mysql(self):
        cursor = self.connect.cursor()
        return cursor

    def close_mysql(self):
        self.connect.close()

    def close_curser(self):
        self.connect_mysql().close()

    def add_test_datas(self, file_obj):
        file = file_obj
        file_name = file['file_name']
        title = file['file_content'][0].strip()
        datas = file['file_content'][1:]
        content_len = len(datas)
        data = ''
        counter = 1
        for tmpdata in datas:
            if counter == content_len:
                data += '(' + tmpdata.strip() + ');'
            else:
                data += '(' + tmpdata.strip() + '),'
            counter += 1
        sql = 'insert into ' + self.database + '.' + file_name + ' (' + title + ') values '+ data
        try:
            # self.connect_mysql().executemany(sql)
            self.connect_mysql().execute(sql)
        except Exception as e:
            print('add_' + file_name + ' error: ', e)
        self.connect.commit()
        self.close_curser()

if __name__ == '__main__':
    testdata = InsertTestData()
    testdata.add_test_datas(testdata.read_lines(InsertTestData.STUDENT_FILE))
    testdata.add_test_datas(testdata.read_lines(InsertTestData.TEACHER_FILE))
    testdata.add_test_datas(testdata.read_lines(InsertTestData.COURSE_FILE))
    testdata.add_test_datas(testdata.read_lines(InsertTestData.SCORE_FILE))

    在main函数中,只需要指定要读取的文件,即可快速插入测试数据。

    为了便于构造sql语句,定义的数据文件格式如下:

`SID`,`CID`,`Degree` 
'103' , '3-245' , '86'
'105' , '3-245' , '75'
'109' , '3-245' , '68'
'103' , '3-105' , '92'
'105' , '3-105' , '88'
'109' , '3-105' , '76'
'101' , '3-105' , '64'
'107' , '3-105' , '91'
'108' , '3-105' , '78'
'101' , '6-166' , '85'
'107' , '6-166' , '79'
'108' , '6-166' , '81'


三、遇到的问题

  1. UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence

    原因:文件编码不是ANSI;

    解决方法:将文件用notepad打开,另存,编码设置为ANSI格式。

  2. 入库的中文信息乱码,显示为'?'

    原因:在创建数据库时,未将charset设置为utf8;

    解决方法:重建数据库,重建表,数据库和表的charset都设置为utf8

  3. 如何将sql的values数据构造成‘(),(),();‘的格式

    解决方法:增加计数器,当读取到最后一行时,以‘;’结尾

  4. 如何通过读取一个文件,同时获取要操作的表名称、列名、values

    解决方法:

    数据文件的文件名称,定义成表名;

    数据文件的titile,即第一行内容,定义成表的列;

    数据文件的内容,即第一行之后的内容,定义成表的数据。

--结束END--

本文标题: 使用python+txt构建测试数据

本文链接: https://www.lsjlt.com/news/183066.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python+txt构建测试数据
    一、背景    有4张表,每张表要插入多条测试数据。如若还有同种需求,于是写了一个脚本,来添加数据。二、代码#--coding:utf8-- import pymysql class InsertTestData(object):   ...
    99+
    2023-01-31
    测试数据 python txt
  • eclipse 中使用 ant 自动构建 测试
    eclipse 中使用 ant 自动构建 junit测试[@more@]主要关于直接在eclipse中使用ant 的build.xml 自动完成测试的时候遇到的问题。Buildfile: C:Documents and SettingsA...
    99+
    2023-06-03
  • 利用PHP trait DTO构建可测试的数据传输层
    在开发过程中,数据传输对象(Data Transfer Object,DTO)是一个常见的设计模式,它可以在不同层之间传输数据。利用PHP trait DTO可以更方便地构建可测试的数据传输层。本文将介绍DTO的概念以及如何使用PHP tr...
    99+
    2023-10-21
    PHP dto trait
  • db2怎样构造测试数据
    这篇文章将为大家详细讲解有关db2怎样构造测试数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建测试样表 db2 "create t...
    99+
    2024-04-02
  • Python怎么使用Pandas处理测试数据
    这篇文章主要介绍“Python怎么使用Pandas处理测试数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么使用Pandas处理测试数据”文章能帮助大家解决问题。Python自动化测...
    99+
    2023-07-05
  • Python使用Pandas处理测试数据的方法
    目录Python自动化测试-使用Pandas来高效处理测试数据一、思考1.Pandas是什么?2.经典面试题二、使用pandas来操作Excel文件1.安装2.按列读取数据3.按行读...
    99+
    2023-02-21
    Python Pandas 处理测试数据 Python Pandas 自动化测试
  • python中的单元测试和数据库测试
    登录测试被测试的代码逻辑 @app.route('/login', methods=['POST']) def login(): username = request.form.get('username') passwor...
    99+
    2023-01-31
    单元测试 数据库 测试
  • 数据库的建筑师:使用 DDL 构建数据结构
    数据库中的数据结构是数据的骨架,它定义了数据的存储方式、组织形式和访问权限。使用数据定义语言 (DDL) 构建数据结构是数据库管理系统 (DBMS) 中的一项基本任务。本文将详细介绍 DDL 中用于创建、修改和删除数据结构的常用命令。 ...
    99+
    2024-02-19
    数据定义语言 DDL CREATE ALTER DROP 数据建模 数据结构
  • 如何进行MySQL构造测试数据
    这篇文章给大家介绍如何进行MySQL构造测试数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 构造测试数据(笛卡尔积,6 次100 万)create ta...
    99+
    2024-04-02
  • SqlServer 2008如何创建测试数据
    小编给大家分享一下SqlServer 2008如何创建测试数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!包含要点: 数据库的...
    99+
    2024-04-02
  • 怎样使用caffe测试mnist数据集
    这篇文章给大家介绍怎样使用caffe测试mnist数据集,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。想要入门深度学习没有几个趁手的兵器是不行的,目前流行的框架tensorflow、pytorch、caffe等,笔者也...
    99+
    2023-06-19
  • 使用NOSEGMENT创建测试索引
    如果你想要创建一个很大的索引,但并不想给它分配空间,而是要先确定优化器是否会选择使用该索引,那么在11g中可以使用NOSEGMENT来创建索引就可以先进行测试。如果确定了这个索引是有用的,可以删除该索引,然...
    99+
    2024-04-02
  • 基于Python利用Faker批量测试数据
    测试过程中,经常需要批量去造数据,方法有很多,最简单方便的应该是使用python 的一个三方库Faker。 脚本作用,批量生成10000条基本数据,写入本地的文件:test_data...
    99+
    2024-04-02
  • Python数据分析之使用scikit-learn构建模型
    一、使用sklearn转换器处理 sklearn提供了model_selection模型选择模块、preprocessing数据预处理模块、decompisition特征分...
    99+
    2024-04-02
  • linux如何使用Snapcraft构建、测试并发布Snap软件包
    这篇文章主要介绍linux如何使用Snapcraft构建、测试并发布Snap软件包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!snapcraft 是一个正在为其在 Linux  中的地位而奋斗的包管理系统...
    99+
    2023-06-16
  • 如何使用 Python 接口重定向 LeetCode 上的测试数据?
    如何使用 Python 接口重定向 LeetCode 上的测试数据? LeetCode 是一个非常流行的在线编程练习平台,它提供了各种各样的算法和数据结构问题,让人们可以通过练习来提高自己的编程技能。然而,有些人可能会发现在 LeetCod...
    99+
    2023-11-09
    接口 重定向 leetcode
  • 基于Python怎么用Faker批量测试数据
    这篇文章主要介绍了基于Python怎么用Faker批量测试数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Python怎么用Faker批量测试数据文章都会有所收获,下面我们一起来看看吧。测试过程中,经常需...
    99+
    2023-06-29
  • python多线程性能测试之快速mock数据测试分析
    今天小编给大家分享一下python多线程性能测试之快速mock数据测试分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装...
    99+
    2023-07-02
  • 如何使用Python中的数组数据类型构建Laravel应用?
    随着Web应用程序的快速发展,越来越多的开发者选择使用Laravel作为他们的开发框架。而Python作为一种强大的编程语言,也被广泛应用于Web开发,特别是在数据处理和分析方面。本文将介绍如何使用Python中的数组数据类型构建Larav...
    99+
    2023-10-19
    数据类型 数组 laravel
  • 使用python测试prometheus的实现
    为了更直观的了解prometheus如何工作,本文使用prometheus的python库来做一些相应的测试。 python库的github地址是https://github.com...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作