{"id":980,"date":"2020-07-06T10:01:44","date_gmt":"2020-07-06T13:01:44","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=980"},"modified":"2020-07-06T10:20:26","modified_gmt":"2020-07-06T13:20:26","slug":"data-science-com-python-4","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/data-science-com-python-4\/","title":{"rendered":"Data Science Com Python #4"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>Lendo e Escrevendo Dados<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">A habilidade de ler e escrever dados \u00e9 fundamental para trabalhar com qualquer ci\u00eancia de dados. A maioria dos tipos b\u00e1sicos de dados s\u00e3o texto e CSV (Comma Separated Values).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O c\u00f3digo de exemplo l\u00ea um arquivo de texto e limpa o processo. Em seguida l\u00ea um arquivo de texto pr\u00e9-limpo, salve-o como um arquivo CSV, leia o arquivo CSV, converta para uma lista de elementos OrderedDict, e converta essa lista para a lista de elementos regulares do dicion\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/data-1.zip\" target=\"_blank\" rel=\"noreferrer noopener\">Fa\u00e7a o download da pasta data para o exemplo funcionar.<\/a> <\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:python decode:true \">import csv\n\ndef read_txt(f):\n    with open(f, 'r') as f:\n        d = f.readlines()\n        return [x.strip() for x in d]\n\ndef conv_csv(t, c):\n    data = read_txt(t)\n    with open(c, 'w', newline='') as csv_file:\n        writer = csv.writer(csv_file)\n        for line in data:\n            ls = line.split()\n            writer.writerow(ls)\n\ndef read_csv(f):\n    contents = ''\n    with open(f, 'r') as f:\n        reader = csv.reader(f)\n        return list(reader)\n\ndef read_dict(f, h):\n    input_file = csv.DictReader(open(f), fieldnames=h)\n    return input_file\n\ndef od_to_d(od):\n    return dict(od)\n\nif __name__ == \"__main__\":\n    f = 'data\/names.txt'\n    data = read_txt(f)\n    print ('text file data sample:')\n    for i, row in enumerate(data):\n        if i &lt; 3:\n            print (row)\n    csv_f = 'data\/names.csv'\n    conv_csv(f, csv_f)\n    r_csv = read_csv(csv_f)\n    print ('\\ntext to csv sample:')\n    for i, row in enumerate(r_csv):\n        if i &lt; 3:\n            print (row)\n    headers = ['first', 'last']\n    r_dict = read_dict(csv_f, headers)\n    dict_ls = []\n    print ('\\ncsv to ordered dict sample:')\n    for i, row in enumerate(r_dict):\n        r = od_to_d(row)\n        dict_ls.append(r)\n        if i &lt; 3:\n            print (row)\n    print ('\\nlist of dictionary elements sample:')\n    for i, row in enumerate(dict_ls):\n        if i &lt; 3:\n            print (row)\n<\/pre><\/div>\n\n\n\n<div class=\"video_embed clearfix\"><iframe loading=\"lazy\" height=\"400px\" width=\"100%\" src=\"https:\/\/repl.it\/@blackzig\/Exemplo1?lite=true\" scrolling=\"no\" frameborder=\"no\" allowtransparency=\"true\" allowfullscreen=\"true\" sandbox=\"allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals\"><\/iframe><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Caso voc\u00ea estiver utilizando a vers\u00e3o 2 do Python o seguinte erro ir\u00e1 aparecer:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"254\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image.png\" alt=\"\" class=\"wp-image-982\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image.png 566w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image-300x135.png 300w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Se voc\u00ea executar com a vers\u00e3o 3 do Python, a\u00ed sim, funciona:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"317\" src=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image-1.png\" alt=\"\" class=\"wp-image-983\" srcset=\"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image-1.png 567w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image-1-300x168.png 300w, https:\/\/micheladrianomedeiros.com.br\/blog\/wp-content\/uploads\/2020\/07\/image-1-262x147.png 262w\" sizes=\"auto, (max-width: 567px) 100vw, 567px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Fonte livro:&nbsp;<strong>Data Science Fundamentals for Python&nbsp;and&nbsp;MongoDB&nbsp;<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lendo e Escrevendo Dados A habilidade de ler e escrever dados \u00e9 fundamental para trabalhar com qualquer ci\u00eancia de dados. A maioria dos tipos b\u00e1sicos de dados s\u00e3o texto e CSV (Comma Separated Values). O c\u00f3digo de exemplo l\u00ea um arquivo de texto e limpa o processo. Em seguida l\u00ea um arquivo de texto pr\u00e9-limpo, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":111,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-datascience"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=980"}],"version-history":[{"count":5,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/980\/revisions"}],"predecessor-version":[{"id":990,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/980\/revisions\/990"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/111"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}