首页 > 数据库 >Python+Faker+Pandas数据库造数

Python+Faker+Pandas数据库造数

时间:2024-02-21 22:44:57浏览次数:30  
标签:Python excel faker 造数 pd fake csv data Pandas

今日分享一些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 Faker
 
def 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['姓名'] = name
        fake_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

标签:Python,excel,faker,造数,pd,fake,csv,data,Pandas
From: https://www.cnblogs.com/chenxiaomeng/p/18026366

相关文章

  • Python中logging模块
     在项目中我们常常需要打印日志,特别是在系统级项目上一般都会有自己日志模块,下面我们将介绍下Python中自带的logging模块(注意这是模块的名称并不是类)一、基本使用logging是一个包的名称,我们真正使用的是logging.Logger这个类。但是我们不能使用常规的方式进行初始化,......
  • python-transformers库
    python-transformers库目录python-transformers库安装测试功能和优势Transformers术语模型与分词器加载预训练模型保存模型分词器编码和解码填充Padpipelinepipeline简介pipeline原理参考资料transformers是一个用于自然语言处理(NLP)任务,如文本分类、命名实体识别,机器翻译等,提供......
  • Python:Short Circuiting -- “OR”
    ShortCircuitingOperatorChecksif:Evaluatesfromlefttorightupto:ExampleANDAllvaluesaretrueThefirstfalsevalueFalseand1/0evaluatestoFalseORAtleastonevalueistrueThefirsttruevalueTrueor1/0evaluatestoTrue......
  • python 数据库数据较验
    #-*-coding:utf-8-*-#@Time:2023-09-07#@Author:Carl_DJ"""实现功能:1、python直接链接SqlServer数据库可以MySQL数据库,进行数据对比2、对比mysql和SqlServer两个数据库的表名以及表内数据的差异:3、对比的差异分别输出到文件中---->数据......
  • 【Python&GIS】基于Python融合矢量数据(多面合一)
    ​    之前发过使用批量合并矢量数据的文章:【Python&GIS】基于Python批量合并矢量数据,正好前段时间有需求把矢量数据进行融合,然后就编了一段融合矢量数据的代码。今天就和大家分享一下如何使用Python对矢量数据实现融合的操作。1.定义    首先大家要明白矢量数......
  • python实现不同电脑之间视频传输功能
    python实现不同电脑之间视频传输功能   这篇文章主要介绍了python实现不同电脑之间视频传输,本文视频传输实现的前提是确保发送端和接收端接在同一个局域网下,分为发送端和接收端,通过实例代码给大家介绍的非常详细,需要的朋友参考下吧 1.imageZMQ库实现imageZMQ库链接:ht......
  • python 多进程交互
    frommultiprocessingimportProcess,QueueclassEngine:def__init__(self):self.info="EngineInfo"self.order_queue=Queue()#创建一个用于接收订单的队列self.orders=[]defget_info(self):returnself.info......
  • Python启动其他程序
    通过python脚本来启动其他的程序,一般使用subprocessimportsubprocess#启动Windows上的计算机程序subprocess.Popen('C:\\Windows\\System32\\calc.exe')#启动记事本,并打开text.txt文件,在该列表中第一个元素表示程序名称,后面的都是参数subprocess.Popen(['C:\\Windows......
  • python2 解决 unicode转中文问题
    importjson#避免\x0e问题importsysreload(sys)sys.setdefaultencoding('utf-8')#defbbb():#bbb={u"111":u"\u73bb\u7483"}printbbbprint(json.dumps(bbb).decode("unicode-escape"))de......
  • Python 机器学习工具 scikit-learn 的入门使用
    参考文档:https://www.scikitlearn.com.cn/通过对已有多组数据的训练,从而实现对单个数据的结果预测安装pipinstall-Uscikit-learnDemo通过使用sklearn包中的决策树DecisionTreeclassifier算法实现简单预测importsklearnfromsklearnimporttreefeature=[[178,1],......