Python-faker+panda

点击名片关注 阿尘blog,一起学习,一起成长

今日分享一些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)

b16ddfd82759916623c08a9ffa012957.png

faker可以提供的标准数据:

2fc843e879d0a636b5fe6908b1ee7a15.png

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开始

15a63b5103fce65e50ea9967b945147d.png

所以可以传入参数,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返回结果是以列表形式

48d42bd69182064fbf076e9139eb3166.png

excel 的读写操作

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

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

a82ae22ed7b003e6654f6d5327b7e9a1.png

如果不指定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()

e36321e6036b67c15876c3ff719047c4.png

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

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

扫描二维码关注阿尘blog,一起交流学习

4e4f6535e4593f4d9e47e4a1a2a4aa9b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿尘呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值