1. 程式人生 > 其它 >Python專業造數庫:Faker

Python專業造數庫:Faker

  1 1. 安裝
  2 
  3 pip install Faker
  4 2. 簡單使用
  5 >>> from faker import Faker
  6 >>> fake = Faker(locale='zh_CN')
  7 >>> fake.name()
  8 '李潔'
  9 >>> fake.address()
 10 '上海市興安盟縣江北東莞路r座 803484'
 11 引數 locale:為生成資料的文化選項(語種),預設為 en_US,只有使用了相關文化,才能生成相對應的隨機資訊
 12 
 13
常見的文化選項: 14 15 zh_CN - Chinese (China Mainland) 16 17 zh_TW - Chinese (China Taiwan) 18 19 en_US - English (United States) 20 21 22 23 3. 其他方法 24 3.1 地理資訊類 25 city_suffix():市,縣 26 country():國家 27 country_code():國家編碼 28 district():區 29 geo_coordinate():地理座標 30 latitude():地理座標(緯度)
31 longitude():地理座標(經度) 32 postcode():郵編 33 province():省份 34 address():詳細地址 35 street_address():街道地址 36 street_name():街道名 37 street_suffix():街、路 38 3.2 基礎資訊類 39 ssn():生成身份證號 40 bs():隨機公司服務名 41 company():隨機公司名(長) 42 company_prefix():隨機公司名(短) 43 company_suffix():公司性質,如'資訊有限公司' 44 credit_card_expire():隨機信用卡到期日,如'
03/30' 45 credit_card_full():生成完整信用卡資訊 46 credit_card_number():信用卡號 47 credit_card_provider():信用卡型別 48 credit_card_security_code():信用卡安全碼 49 job():隨機職位 50 first_name_female():女性名 51 first_name_male():男性名 52 name():隨機生成全名 53 name_female():男性全名 54 name_male():女性全名 55 phone_number():隨機生成手機號 56 phonenumber_prefix():隨機生成手機號段,如139 57 3.3 郵箱資訊類 58 59 ascii_company_email():隨機ASCII公司郵箱名 60 ascii_email():隨機ASCII郵箱: 61 company_email():公司郵箱 62 email():普通郵箱 63 safe_email():安全郵箱 64 3.4 網路基礎資訊類 65 66 domain_name():生成域名 67 domain_word():域詞(即,不包含字尾) 68 ipv4():隨機IP4地址 69 ipv6():隨機IP6地址 70 mac_address():隨機MAC地址 71 tld():網址域名字尾(.com,.net.cn,等等,不包括.) 72 uri():隨機URI地址 73 uri_extension():網址檔案字尾 74 uri_page():網址檔案(不包含字尾) 75 uri_path():網址檔案路徑(不包含檔名) 76 url():隨機URL地址 77 user_name():隨機使用者名稱 78 image_url():隨機URL地址 79 3.5 瀏覽器資訊類 80 81 chrome():隨機生成Chrome的瀏覽器user_agent資訊 82 firefox():隨機生成FireFox的瀏覽器user_agent資訊 83 internet_explorer():隨機生成IE的瀏覽器user_agent資訊 84 opera():隨機生成Opera的瀏覽器user_agent資訊 85 safari():隨機生成Safari的瀏覽器user_agent資訊 86 linux_platform_token():隨機Linux資訊 87 user_agent():隨機user_agent資訊 88 3.6 數字資訊 89 90 numerify():三位隨機數字 91 random_digit():0~9隨機數 92 random_digit_not_null():1~9的隨機數 93 random_int():隨機數字,預設0~9999,可以通過設定min,max來設定 94 random_number():隨機數字,引數digits設定生成的數字位數 95 pyfloat():隨機Float數字 96 pyint():隨機Int數字(參考random_int()引數) 97 pydecimal():隨機Decimal數字(參考pyfloat引數) 98 3.7 文字加密類 99 100 pystr():隨機字串 101 random_element():隨機字母 102 random_letter():隨機字母 103 paragraph():隨機生成一個段落 104 paragraphs():隨機生成多個段落 105 sentence():隨機生成一句話 106 sentences():隨機生成多句話,與段落類似 107 text():隨機生成一篇文章 108 word():隨機生成詞語 109 words():隨機生成多個詞語,用法與段落,句子,類似 110 binary():隨機生成二進位制編碼 111 boolean():True/False 112 language_code():隨機生成兩位語言編碼 113 locale():隨機生成語言/國際 資訊 114 md5():隨機生成MD5 115 null_boolean():NULL/True/False 116 password():隨機生成密碼,可選引數:length:密碼長度;special_chars:是否能使用特殊字元;digits:是否包含數字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母 117 sha1():隨機SHA1 118 sha256():隨機SHA256 119 uuid4():隨機UUID 120 4. 實戰使用 121 122 在資料庫建一張表,通過Faker造資料,插入到表中。並且列印Faker造的資料。 123 124 import pymysql 125 from faker import Faker 126 127 conn = pymysql.connect(host="114.215.129.166", port=3306, user="nice", password="", db="flask201", 128 charset="utf8") 129 130 cursor = conn.cursor() 131 sql1 = """drop table if exists faker_user""" 132 sql2 = """ 133 create table faker_user( 134 pid int primary key auto_increment, 135 username varchar(20), 136 password varchar(20), 137 address varchar(35) 138 ) 139 """ 140 cursor.execute(sql1) 141 cursor.execute(sql2) 142 fake = Faker("zh-CN") 143 for i in range(20): 144 sql = """insert into faker_user(username,password,address) 145 values('%s','%s','%s')""" % (fake.name(), fake.password(special_chars=False), fake.address()) 146 print('姓名:'+fake.name() + '|密碼:'+fake.password(special_chars=False) + '|地址:'+fake.address()) 147 cursor.execute(sql) 148 149 conn.commit() 150 cursor.close() 151 conn.close() 152 輸出的結果如下: 153 154 姓名:王平|密碼:iZqPxLO947|地址:吉林省莉市房山楊路R座 491718 155 姓名:柏倩|密碼:h853B0idne|地址:遼寧省玉華縣薊州永安街g座 205585 156 姓名:賈俊|密碼:UsRtGXAv9o|地址:湖北省石家莊市大興傅街c座 861094 157 姓名:樑丹|密碼:ke7QZBdBC3|地址:湖南省太原市璧山太原街m座 939225 158 姓名:丁燕|密碼:Ee9Gt9Jh5E|地址:雲南省穎縣海港樑街A座 403237 159 姓名:餘敏|密碼:d2KhMqlen0|地址:江西省晶市城北深圳路E座 683731 160 姓名:朱冬梅|密碼:aGpEzKJZ2a|地址:臺灣省建市淄川張家港路F座 443320 161 姓名:韋小紅|密碼:ZDZXzsWiJ1|地址:河北省桂榮市朝陽賀街R座 559885 162 姓名:藍豔|密碼:tvDugIUra3|地址:湖北省西寧市和平李路n座 365745 163 姓名:黎雪|密碼:Is1U1UAu57|地址:香港特別行政區六盤水市六枝特洪街e座 507272 164 姓名:劉利|密碼:8zzbAEowYA|地址:遼寧省巢湖縣西夏臺北街k座 665328 165 姓名:董波|密碼:q9TGizssrV|地址:臺灣省桂芝市長壽大冶路v座 842339 166 姓名:劉志強|密碼:Za9Vzdocki|地址:湖南省梅市門頭溝梧州街r座 897061 167 姓名:塗飛|密碼:9JFvmsO0r2|地址:遼寧省金鳳市海港曾路z座 577420 168 姓名:仲秀英|密碼:6MJXQ1w6qb|地址:貴州省淑英市朝陽蔡路r座 880809 169 姓名:趙冬梅|密碼:7oUoUrw22Z|地址:湖北省斌市黃浦阜新路f座 635086 170 姓名:張麗麗|密碼:5DnZJhfnnB|地址:香港特別行政區秀芳縣高坪李路b座 543520 171 姓名:徐燕|密碼:6WbRXyiY2R|地址:河北省惠州市錫山南寧路T座 266905 172 姓名:衛帥|密碼:0XqEZPbiGZ|地址:貴州省福州縣潯陽孫路L座 535933 173 姓名:李桂英|密碼:6hLMsaqSI1|地址:重慶市遼陽市華龍姬街k座 718930