Python+Faker+Pandas数据库造数

news/发布时间2024/5/23 20:23:00

今日分享一些Python常用的东西,整理一些小笔记,比如Faker的使用,panda的使用

1、使用faker造数据
简介

测试工作中,经常会遇到需要制造大量测试数据的时候,如果手动造数据必然会浪费大量时间

Faker是一个制造数据的强大的python库,可以制造姓名、电话、身份证、地址、邮箱等等各种各样伪数据

 

安装faker

pip install Faker -i http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

faker的使用

# coding:utf-8
# author:Achen_blog
import csv
from faker import Fakerdef get_data():# 实例化,传入指定区域代码fake = Faker(locale='zh_CN')fake_list = []for i in range(1,11):fake_data = {}name = fake.name()phone = '1279'+ str(i).zfill(7)id_num = fake.ssn() #生成身份证号fake_data['姓名'] = namefake_data['联系电话'] = phone + '\t' # 字符串+'\t'在写入表格文件打开时,避免自动变成科学计数法fake_data['身份证号'] = id_num + '\t'fake_list.append(fake_data)return fake_list
def write_date(data_list:list):with open('test.csv','w',newline='',encoding='utf-8-sig') as data:FildNames = ['姓名','联系电话','身份证号']writer = csv.DictWriter(data,fieldnames=FildNames)writer.writeheader()writer.writerows(data_list)data.close()
if __name__ == '__main__':data = get_data()write_date(data)

 

 faker可以提供的标准数据:

 faker在中国可以提供的区域数据:

faker.address
faker.automotive
faker.bank
faker.company
faker.date_time
faker.internet
faker.job
faker.lorem
faker.person
faker.phone_number
faker.ssn

更多内容请参考官方文档:https://faker.readthedocs.io/en/master/

2、使用panda读写分析数据
简介

Pandas 是Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具

pandas功能比较强大,这里只简单介绍一下要用的数据读写操作

安装pandas

pip install pandas -i http://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

使用pandas读写数据

csv的读取,读取csv一般用pd.read_cav(),写入csv一般用to_csv()

import pandas as pd# 读取csv文件
data = pd.read_csv('test.csv',encoding="utf-8")
print(data)
# 写入csv文件
data.to_csv('newtest.csv',encoding='utf-8')

 

默认情况读取csv会自动生成索引,数据行从0开始

 所以可以传入参数,index_col = 0

import pandas as pd# 读取csv文件
data = pd.read_csv('test.csv',encoding="utf-8",index_col=0)
print(data)
# 写入csv文件
data.to_csv('newtest.csv',encoding='utf-8')

读取的csv返回结果是以列表形式

 

excel 的读写操作

excel读取采用pd.read_excel,写入则用pd.DataFrame.to_excel

data = pd.read_excel('试点人员名单信息表.xlsx',sheet_name='试点人员名单信息表',index_col=0)
print(data)

 

如果不指定sheet_name 默认就是第一个sheet

写入excel

data = pd.read_excel('试点人员名单信息表.xlsx',sheet_name='试点人员名单信息表',index_col=0)
# print(data)
# 写入excel文档,使用to_excel必须保证文件后缀名为为excel专用后缀
data.to_excel('newexcel.xlsx',sheet_name='test',)

如果要写入多个sheet,就需要生成一个excelwriter对象来传递文件路径,因为直接用to_excel 会覆盖之前的sheet

excel = pd.ExcelWriter('newexcel1.xlsx') # 生成excel对象data1.to_excel(excel,sheet_name='test1')
data2.to_excel(excel,sheet_name='test2')
excel.close()

 

 

更多功能以后再分享,大家也可以查阅官方文档

pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.jwkm.cn/p/06061588.html

如若内容造成侵权/违法违规/事实不符,请联系宁远站长网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

【机器学习科学库】全md文档笔记:Jupyter Notebook和Matplotlib使用(已分享,附代码)

本系列文章md笔记(已分享)主要讨论人工智能相关知识。主要内容包括,了解机器学习定义以及应用场景,掌握机器学习基础环境的安装和使用,掌握利用常用的科学计算库对数据进行展示、分析,学会使用jupyter notebook平台完成代码编写运行,应用Matplotlib的基本功能实现图形显…

第六天: K8S监控

监控程序 常见监控软件Zabbix Nagios Cacti Prometheus Open-falcon Nightingale 监控对比监控内容一体化

洛谷题单指南-递推与递归-P1228 地毯填补问题

原题链接:https://www.luogu.com.cn/problem/P1228 题意解读:用4种毯子铺满2^k * 2^k的区域,留出一个公主位置,输出所有毯子拐角的坐标以及哪种毯子,看起来有点无从下手, 可以从k=1,k=2,k=3入手去依次考虑,找到规律,用分治法解决。 解题思路: 1、当k=1时,即2*2的区…

如何杜绝员工在工作中的不当行为导致数据泄露?

在数据驱动的现代企业中,内部员工是数据安全防护的重要一环。员工的不当行为可能导致重大的数据泄露,引发严重的商业损失和声誉损害。因此,杜绝员工在工作中的不当行为变得至关重要。这篇文章将解析如何利用华企盾DSC数据防泄密系统,防止和减轻由员工不当行为带来的数据泄露…

IO

IOJava IO 也称为IO流,IO = 流,它的核心就是对文件的操作,对于 字节 、字符类型的输入和输出流。IO是指对数据流的输入和输出,也称为IO流,IO流主要分为两大类,字节流和字符流。字节流可以处理任何类型的数据,如图片,视频等,字符流只能处理字符类型的数据。1.IO流的分类…

全流程点云机器学习(二)使用PaddlePaddle进行PointNet的机器学习训练和评估

前言 这不是高支模项目需要嘛,他们用传统算法切那个横杆竖杆流程复杂耗时很长,所以想能不能用机器学习完成这些工作,所以我就来整这个工作了。 基于上文的数据集切分 ,现在来对切分好的数据来进行正式的训练。 本系列文章所用的核心骨干网络代码主要来自点云处理:实现Poin…