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