Documento de estudo da US1
Introdução
Antes da criação das intents, actions e stories de cada tema selecionado são gerados documentos pela equipe de desenvolvimento que possuem abrangentemente do que aquele ele se trata. Selecionamos um breve conhecimento do tema, possíveis bibliotecas e até mesmo a forma de implementação.
Objetivo
Tendo em vista que os dados passados para o treinamento do bot devem ser bem claros e ter uma quantidade reduzida de informação para não poluir a caixa de mensagens do usuário, o desenvolvedor responsável pelo tema tem como objetivo extrair o máximo de informação e simplifica-la antes de passar para o usuário final. Isso torna a criação das intents, actions e stories mais rápidas e objetivas.
CSV
O que é um CSV?
Comma-separated values (ou CSV) é um formato de arquivo que armazena dados tabelados, cujo grande uso data da época dos mainframes.Por serem bastante simples, arquivos .csv são comuns em todas as plataformas de computador.
Como é a estrutura de um arquivo .csv?
O CSV é um implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores. O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento.
Arquivo .csv e Python
Como Manipular Arquivo .csv?
Primeiro é necessário importar uma biblioteca chamada csv e com isso temos acesso a algumas funções necessarias para fazer a importação. Documentação da biblioteca
Como Abrir um Arquivo .csv?
Utilizaremos a função nativa open(),que pode ser usada para manipular arquivos em Python. Sua sintaxe básica é:
file_object = open(filename, mode)
Onde filename é, obviamente, o nome do arquivo a ser manipulado.
mode é o modo como o arquivo será aberto,existem alguns modos em como esse arquivo pode ser aberto mas utilizaremos o modo 'rb' que significa Read in Binary mode,que vai se aplicar pra maioria dos casos.
Como Manipular um Arquivo .csv?
Após abrir o arquivo,é necessário lê-lo,então usaremos a função reader(),presente na biblioteca csv.Essa função retorna um objeto,por isso,atribuiremos esse objeto a uma variavel.
Estrutura do Código
Existe mais de um jeito de ler arquivos csv em python,por exemplo,a forma mais simples é:
import csv
ficheiro = open('arquivo.csv', 'rb')
reader = csv.reader(ficheiro)
for linha in reader:
print linha
No entanto,é boa prática abrir o arquivo de outro modo:
import csv
with open('ficheiro_csv.csv', 'rb') as ficheiro:
reader = csv.reader(ficheiro)
for linha in reader:
print linha
Pandas e Python
O que é Pandas
Outra forma de manipularmos arquivos em Python é utilizando o Pandas,uma biblioteca de software open-source escrita para a linguagem Python com a finalidade de manipulação e análise de dados.Pandas é muito utilizado em Deep Learning,Data Science e Machine Learning.
Pandas na Manipulação de Arquivo CSV
Em pandas,é até mais simples,utilizamos basicamente apenas a função read_csv da biblioteca pandas.
Função read_csv()
Essa função é muito poderosa e recebe como parametros:
pandas.read_csv( filepath_or_buffer , sep = ' , ' , delimitador = Nenhum , cabeçalho = 'infer' , nomes = Nenhum , index_col = Nenhum , usecols = Nenhum , squeeze = False , prefixo = Nenhum , mangle_dupe_cols = True , dtype = Nenhum , engine = Nenhum , conversores = Nenhum , true_values = Nenhum , false_values = Nenhum , skipinitialspace = False , skiprows = Nenhum , skipfooter = 0 , nrows = Nenhum , na_values = Nenhum, keep_default_na = Verdadeiro , na_filter = Verdadeiro , verbose = Falso , skip_blank_lines = Verdadeiro , parse_dates = Falso , infer_datetime_format = Falso , keep_date_col = Falso , date_parser = Nenhum , dayfirst = Falso , iterador = Falso , chunksize = Nenhum , compactação = 'inferir' , milhares = nenhum , decimal = b '.' , lineterminator = None , quotechar = '"' , citando = 0 , doublequote = True , escapechar = None ,comment = Nenhum , codificação = None , dialect = None , tupleize_cols = Nenhum , error_bad_lines = True , warn_bad_lines = Verdadeiro , delim_whitespace = Falso , low_memory = Verdadeiro , memory_map = Falso , float_precision = Nenhum )
Mas apenas o primeiro parâmetro é obrigatório,o filepath_or_buffer, que é objeto de caminho ou objeto semelhante a arquivo Qualquer caminho de string válido é aceitável. A string pode ser um URL. Esquemas de URL válidos incluem http, ftp, s3 e file. Para URLs de arquivos, um host é esperado.
Por objeto tipo arquivo, nos referimos a objetos com um read() método, como um manipulador de arquivos (por exemplo, via openfunção interna ) ou StringIO.Como são muitos parâmetros e apenas um deles é obrigatório e atenderá a maioria dos casos da US01,não vou detalhar todos os parâmetros mas segue a documentação da função read_csv(). Documentação da função
Exemplo de código com Pandas
O exemlo abaixo printa todos os nomes contidos no arquivo.csv
import pand as pd
ex = pd.read_csv('arquivo.csv')
nome = df[['nome']].values
print(nome)