Пікірлер
@jonhjones.j3596
@jonhjones.j3596 Ай бұрын
Estou com o seguinte problema, tenho uma coluna que recebe uma formula procv, quando abro a planilha tudo certo, mas quando vou usar python para receber o valor do resultado da formula, a variavel recebe a formula mesmo em string, ja tentei de varias formas e nao vai
@alldados
@alldados Ай бұрын
Olá Jon. Esse erro acontece ao usar o pandas puro ? Ao dar um read_excel( ) ? Você pode tentar usar o df = pd.read_excel('arquivo.xlsx', evaluate_formulas=True). Outro, seria verificar se o arquivo excel está calculando esse PROCV corretamente, e usar o "openpyxl" pra tentar contornar isso. Exemplo: wb = openpyxl.load_workbook('arquivo.xlsx')
@jonhjones.j3596
@jonhjones.j3596 Ай бұрын
@@alldados é ao usar o openpyxl,
@jonhjones.j3596
@jonhjones.j3596 Ай бұрын
Eu ja tentei, data only = true, .value mas nada só vem formula msm
@IcaroBigData
@IcaroBigData 3 ай бұрын
Parabéns, muito legal a didática!
@renatafernandes2384
@renatafernandes2384 5 ай бұрын
Muito bom, ótimo conteúdo. Teria algum código pra antes de consolidar os arquivos em Excel ele desfiltrar os arquivos que estão filtrados?
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 7 ай бұрын
Oi professor , tudo bem? no meu Df eu já fiz o quartil e ja tenho o resultado do limite superior, porem cada produto tem a sua quantidade e o seu limite superior vai ser diferente , como faço para calcular o limite superior de cada produto de uma vez ???? Por favor me ajude !
@alldados
@alldados 6 ай бұрын
Olá Tati. Se bem entendi, você teria um df com as colunas: PRODUTO, QTDE, e sua terceira seria o quartil, certo? Nesse caso acredito que voce possa usar o groupby() e usar dentro do agg() do groupby o np.quantle(). Dessa forma, voce conseguiria agrupar o PRODUTO, QUARTIL. Agora caso você precise carimbar repetidamente o quartil para cada PRODUTO e QTDE, talvez um loop for ( ou df.iterrows() ) ajude.
@dariogoismarques1242
@dariogoismarques1242 8 ай бұрын
muito bom
@2010Gel
@2010Gel 9 ай бұрын
Parabéns pelo conteúdo amigo! Só um duvida, no meu caso quando eu concateno a célula que possui data e hora ela vem toda errada na tabela final, ela fica num formato extenso de um numero que não consigo converter novamente para data e hora. Alguma alternativa para manter o padrão da célula na hora de mesclar? Exemplo: No arquivo original o campo é 21/10/2017 10:14, na planilha concatenada o valor muda para 42643.916667.
@alldados
@alldados 9 ай бұрын
Olá Gel. Pelo que entendi, os tipos de dados estão diferentes. O que voce pode fazer é forçar os 2 campos para datetime antes de concatenar. Exemplo: df['coluna_data'] = pd.to_datetime(df['coluna_data'], format = "%d/%m%Y %H%M")
@matheusmatos4201
@matheusmatos4201 10 ай бұрын
Olá, boa tarde! Não sei se vc ainda usa esse canal, primeiramente Parabéns pelo material que está top! Cara, tu poderia me explicar mais detalhado essa linha do código? for i in dados: tabela = pd.read_excel (i)
@alldados
@alldados 10 ай бұрын
Olá Matheus. Essa etapa do "for" é pra ir lendo cada arquivo Excel contido na variavel "dados" e ir fazendo os tratamentos seguintes. Ao invés de copiar a mesma linha pra diversos arquivos, eu boto eles numa lista e itero via "for"
@matheusmatos4201
@matheusmatos4201 10 ай бұрын
Amigo que editor é esse que você usa? Dá pra fazer esse processo no VSCODE?
@alldados
@alldados 10 ай бұрын
Olá Matheus! No video eu usei o Jupyter Notebook, bem usado pra prototipaçao. Mas todo o codigo Python apresentado voce pode fazer no Vim, VS Code, Spyder ou qualquer outro. Talvez somente dificulte a visualizacao das variaveis em alguns pontos. Mas no VS Code, voce consegue tanto rodar o .ipynb (arquivos eo Jupyter) quanto .py (arquivo Python).
@Imobajuda
@Imobajuda Жыл бұрын
Parabéns ótima explicação !!!
@guilhermesilva-kp9gw
@guilhermesilva-kp9gw Жыл бұрын
Obrigado irmão! Salvou muito!
@mofado123456
@mofado123456 Жыл бұрын
Como faria para deixar no dataframe somente as linhas que contenham valores em alguma coluna que tenha NaN?
@luismicioneiro1193
@luismicioneiro1193 Жыл бұрын
Tem como fazer essa colagem em uma coluna específica? Queria colar a partir da coluna F
@mofado123456
@mofado123456 Жыл бұрын
Parabéns! Explicação muito boa. Continue
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
Fala mestre ! Tudo bem ?? Amigo como consigo pegar somente os dados do meio da minha planilha , ex: quero pegar os dados da minha planilha a partir da linha que contém o nome INÍCIO DA VISITA até o nome FINAL DA VISITA, ou seja eu quero que python me traga tudo o que contem entre esses dois nomes, é possível ??
@alldados
@alldados Жыл бұрын
Olá Tatiana. É possível sim. Pelo que entendi, voce pode fazer o seguinte: string_filtro1 = "inicio da visita" string_filtro2 = "fim da visita" df_filtrado = df.loc[df["sua_coluna"].str.contains([string_filtro1,string_filtro2]) ]
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
@@alldados amigo não deu certo apareceu o erro : unhashable type: 'list'
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
Amigo os dados estão em uma coluna !
@alldados
@alldados Жыл бұрын
@@tatianacavalcantedossantos4342 veja se dessa forma então funciona: string_filtro = "inicio da visita|fim da visita" df_filtrado = df.loc[df["sua_coluna"].str.contains( string_filtro ) ]
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
@@alldados amigo quase deu certo! ele trouxe os dois nomes Início da Visita e Final da Visita, porém eu preciso pegar oque está entre esses dois nomes, ex: quando eu coloco Início da Visita estou iniciando um bloco que vai ter várias situações dentro dele, quando eu coloco Final da Visita significa que estou encerrando esse bloco , o que eu preciso é pegar o que está entre esses dois blocos: Início da Visita e Final da Visita de várias planilhas. Você é maravilhoso muito obrigada pela atenção de sempre!
@GuilhermeScrok
@GuilhermeScrok Жыл бұрын
Excelente explicação
@davidagabo2909
@davidagabo2909 Жыл бұрын
como eu faria para listar mesmo se eu não digitar completamente, ou seja, todos que contenham aquele valor que eu coloquei mesmo incompleto
@alldados
@alldados Жыл бұрын
Olá David. Você pode tentar usar regex pra realizar essas filtragens com parciais. Ou você pode transformar a coluna em string e filtrar via str.contains( ). Ex: df = df.loc[df['coluna'].str.contains('nome_incompleto')]
@julianasantos9015
@julianasantos9015 Жыл бұрын
Putz ajudou demaaaais! Como eu faço para colocar o nome do arquivo na primeira coluna? eu tenho varios arquivos com datas mes/ano iguais, porem o arquivo tem nomes diferentes (arquivo_sa1/arquivo_sa2/arquivo_sa3) para diferenciar seria muito bom ter a coluna a com o nome do arquivo
@alldados
@alldados Жыл бұрын
Juliana, neste seu caso, entendo que você irá iterar as sheetnames. Você pode ao final de carregar o dataframe, antes de concatená-lo ao dataframe principal, realizar o seguinte comando: df_temp['nome-da-planilha'] = sheet_name (sendo esse sheet_name o nome da planilha que está lendo) df = pd.concat([df, df_temp], axis = 0) Teste e veja se resolveu seu problema.
@saulocamilo5344
@saulocamilo5344 Жыл бұрын
O arquivo que eu vou pegar sofre com inclusão de novas abas de forma numerada por mês, eu gostaria de incluir na lista "de leitura de abas" os 12 meses e se por acaso esse mês não for encontrado ele finalizar o for. Como eu digo isso em código? "Saia do loop se não encontrar a aba!"
@alldados
@alldados Жыл бұрын
Saulo, você pode passar no for o numero do mês, e passar a iteração no sheet_name = i. Para ele tentar ler e passar caso nao encontre, tente usar um try e except.Tipo assim: For i in meses: Try: df = pd.read_excel(nome_arquivo, sheet_name = i) Except: pass
@paulom5207
@paulom5207 6 ай бұрын
Muito bom parabéns, no meu caso tenho 6 planilhas iguais e as outras 6 são coluna diferente como faço?
@edu_franco94
@edu_franco94 Жыл бұрын
Parabéns mano, conteúdo e didática sensacional 👍🏼🤩
@claudiojardim2520
@claudiojardim2520 Жыл бұрын
Parabéns pelo vídeo, excelente! Esses Scripts funcionam para os arquivos csv?
@alldados
@alldados Жыл бұрын
Claudio, funciona sim, porém o método é diferente. Ao invés de utilizar o pd.read_excel( ) voce precisará usar o pd.read_csv( )
@washingtonluiz375
@washingtonluiz375 Жыл бұрын
Boa Noite Teria como disponibilizar essa planilha de Excel para fins de treino....? E qual a ordem dos vídeo....? Grato
@washingtonluiz375
@washingtonluiz375 Жыл бұрын
Boa Noite Excelente vídeo e teria como passar a sequencia dos vídeos... Forte Abraço
@alldados
@alldados Жыл бұрын
Washington, a sequência é a apresentada no canal mesmo, em vídeos.
@glauberjeanalvesnarciso8825
@glauberjeanalvesnarciso8825 Жыл бұрын
Excelente conteúdo! Como faço para montrar esse tempo de execução em cada linha? É uma configuração?
@alldados
@alldados Жыл бұрын
Glauber, essa configuração é instalada via prompt. Chama-se jupyter nb_extensions
@glauberjeanalvesnarciso8825
@glauberjeanalvesnarciso8825 Жыл бұрын
@@alldados Jóia, muito obrigado
@rogerlima7315
@rogerlima7315 Жыл бұрын
Quando coloco mais de uma planilha, os dados ficam fora de ordem, primeira linha é mesclada, será isso?
@alldados
@alldados Жыл бұрын
Roger, se a primeira linha some, talvez seja por conta do header que voce passa como parametro, ou mesmo o nrows... Ou pode ser que os formatos estejam diferentes.... Voce manteve o mesmo padrao entre esses arquivos?
@rogerlima7315
@rogerlima7315 Жыл бұрын
@@alldados consegui aqui, coloquei pra salvar elas sem o header, era esse mesmo o BO, vinha mesclada e aí pra concatenar ficava bugado, Vlw mestre
@alldados
@alldados Жыл бұрын
@@rogerlima7315 que bom que conseguiu resolver !
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
Oi amigo por favor me ajuda !!!!!!!! Eu importei vários arquivos usando o Gloob no total foram 40 planilha, cada uma dessas planilhas tem 10 abas e eu preciso ler 5 abas específicas , ou seja preciso ler todos os arquivos os 40 e juntar as 5 abas de cada um desses 5 arquivos como consigo ?
@alldados
@alldados Жыл бұрын
Oi Tatiana. Se voce importou usando o glob.glob( ) acredito que sua variavel contenha uma lista de 40 arquivos, certo? Assim sendo, voce pode iterar 2 vezes, onde uma voce passa pelo nome do arquivo e outra voce passa pelo nome das sheets especificas. Exemplo: arquivos = glob.glob(seu_caminho) planilhas = [plan1, plan2, plan3, plan4,plan5] df = pd.DataFrame( ) For arquivo in arquivos: For planilha in planilhas: temp = pd.read_excel(arquivo, sheet_name= planilha) df = pd.concat([temp,df], axis=0)
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
@@alldados amigo deu mais o menos certo ! Ele abriu as 5 abas mais só do primeiro arquivo ele não juntou as 5 abas dos 40 arquivos !! Você pode me passar o passo a passo novamente , preciso muito dessa ajuda estou dependendo desse mini projeto para ter destaque na minha empresa, você foi o único que me respondeu e usa o glob. Por favor me ajude !
@alldados
@alldados Жыл бұрын
@@tatianacavalcantedossantos4342 os seus arquivos estão no mesmo padrão? Esses 40 arquivos? Pois assim, o codigo que passei anteriormente era pra funcionar, uma vez que a cada arquivo .xlsx você iria iterar 5x, pois há 5 sheets por arquivo. Agora, caso não esteja no padrão, você teria que replicar esse mesmo bloco " for " que te passei para cada arquivo que esteja diferente. Exemplo: voce faz um for pro arquivo1 e arquivo2 pois estao no mesmo padrao...depois faz um outro pro arquivo3 e arquivo4...assim por diante...ai cada dataframe voce trata individualmente e depois une no padrao que voce precisa.... Se ainda tiver dúvidas, me passe seu e-mail que tento te ajudar
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 Жыл бұрын
@@alldados amigo deu certo !! Quero muito te agradecer pela sua atenção !! Você foi incrível , que Deus te abençoe imensamente ! Muito, Muito obrigada!
@lucasavelino3327
@lucasavelino3327 Жыл бұрын
Muito bom!! Ajudou d++
@vivianeveiga4882
@vivianeveiga4882 Жыл бұрын
Bom dia. Excelente vídeo. Mas no meu caso quando eu peço p visualizar os arquivos concatenados não lista nada. ex: dados = glob.glob('concatenando excel\*.xlsx') dados resultado sai somente [] sem as planilhas
@alldados
@alldados Жыл бұрын
Olá Viviane. Quando você passa o caminho do arquivo e o *.xlsx, voce garantiu que o caminho e a extensão dos arquivos estão corretos? Além também de usar o \\ como delimitador dos diretorios.
@vivianeveiga4882
@vivianeveiga4882 Жыл бұрын
@@alldados oi boa tarde eu consegui resolver no dia mesmo, colando um r, antes do caminho.
@canalseiapostar2975
@canalseiapostar2975 2 жыл бұрын
Amigo quero fazer no python a função MEDIA.SE que uso no excel, seria possível?
@alldados
@alldados 2 жыл бұрын
Você pode filtrar o seu dataframe e usar o .mean( ). Exemplo: df.loc[df['coluna_de_interesse'] == condição, 'coluna_resultado'] = df['coluna_numerica'].mean( ). Além dessa, você pode tentar fazer um loop entre valores na condição e usar para atribuir valor.
@Esseeoclassico
@Esseeoclassico 2 жыл бұрын
Oi boa noite, eu tenho um trabalho pra fazer.. Eu tenho uma tabela com as colunas Nome, Contatos, Atividades e Status. Eu preciso remover certas linhas da minha tabela, só que eu só posso remover as linhas que tem o valor "Oportunidades" da coluna "Status", sendo que a coluna "Status" tem os valores.. Oportunidades, Ativos, Inativos e Suspenso, agradeceria demais se pudesse me ajudar, Obrigado.
@alldados
@alldados 2 жыл бұрын
Olá Nicolas. Pelo que entendi voce poderia fazer um filtro de exclusão da seguinte maneira: df = df.loc[df["Status"] != "Oportunidades"]. Esse seria o jeito mais fácil de realizar isso. Faça um teste e veja se resolve esse impedimento.
@cesarfilizola8136
@cesarfilizola8136 2 жыл бұрын
Muito bom
@fernandoobata6478
@fernandoobata6478 2 жыл бұрын
Muito legal, ajudou muito :)
@danilodantas1426
@danilodantas1426 2 жыл бұрын
Salvo diariamente arquivos xml em uma pasta e necessito unir esses arquivos num dataframe e depois exportar para Excel... Já tentei vários métodos mas não tive sucesso!
@alldados
@alldados 2 жыл бұрын
Olá Danilo. Realmente, xml é um pouco mais "elaborado" pra se tratar. No seu caso acredito que o jeito mais "correto" seri tentar usar a biblioteca xml mesmo.
@alldados
@alldados 2 жыл бұрын
Import xml.etree.ElementTree as ET Depois de importa-la voce usa os comandos abaixo: xmlp = ET.XMLParser(encoding= "utf-8") tree = ET.parse(seu_dataframe, parser = xmlp) A partir daí voce teria que ir testando o iterfind() da instancia e ir obtendo os campos que voce precisa pra ir montando as colunas de seu dataframe pra depois entao exporta-lo pra excel.
@josevaldeir2482
@josevaldeir2482 2 жыл бұрын
Agregou de maaais! MANO! MDS! Obrigado!
@douglasoliveira6557
@douglasoliveira6557 2 жыл бұрын
Como faria para calcular todos os itens que estão na localidade "Brasil" e somar todas essas vezes que apareceu?
@alldados
@alldados 2 жыл бұрын
Douglas, voce pode utilizar a função groupby do Pandas e depois filtrar a localização, ou pode filtrar o dataframe direto e dar um .count() no final e atribuir a uma variavel.
@SandroMochiaro
@SandroMochiaro 2 жыл бұрын
Muito bom! Uma dúvida, e se eu tiver vários arquivos em diferentes diretórios na rede. Consigo juntar se eu tiver todos os caminhos da rede?
@alldados
@alldados 2 жыл бұрын
Consegue sim Sandro. Nesse caso voce pode utilizar o os.listdir() pra mapear em cada diretorio e colocar isso em um loop. Outra forma é utilizar a lib chamada glob, usando a glob.glob(nome_do_diretorio). Ela ja trará a lista dos arquivos naquele diretorio. De qualquer forma, no final, voce precisará iterar e ir unindo dentro do loop passando por cada arquivo.
@SandroMochiaro
@SandroMochiaro 2 жыл бұрын
Obrigado pela dica 🤜🏼🤛🏼
@andredeabdera
@andredeabdera 2 жыл бұрын
Excelente, muito obrigado!
@icamargos67
@icamargos67 2 жыл бұрын
Parabéns, informação de forma simples e bem ditática.
@eulerbelfortt8839
@eulerbelfortt8839 2 жыл бұрын
Parabéns pelo conteúdo , muito bom 👏🏼👏🏼👏🏼
@danilodantas1426
@danilodantas1426 2 жыл бұрын
No caso, nesse exemplo, usando todas as colunas para identificar duplicatas, como manter somente a mais recente (data/hora)? Existe uma maneira de exportar o resultado para xml ou json?
@alldados
@alldados 2 жыл бұрын
Oi Danilo. No caso de datas, o que você pode fazer é ordená-las da mais recente pra mais antiga, ou vice-versa, e usar o drop_duplicates( ). Agora caso você precise de uma data específica (intermediária), sugiro criar uma coluna a mais como fator de "ordenação", atribuindo 0 ou 1 e por aí vai. E sim, é possível exportar para xml ou json. Se não me engano, o próprio pandas já possui um pd.to_json( ) embutido.
@danilodantas1426
@danilodantas1426 2 жыл бұрын
@@alldados E como o drop_duplicates() identificará qual é a mais recente? Tem algum parâmetro? Por padrão, qual o critério para ele excluir a duplicata? Porque se eu der um drop_duplicates() fazendo apenas o que me indicou, provavelmente ele vai excluir sem critério!
@alldados
@alldados 2 жыл бұрын
@@danilodantas1426 o dro_duplicates( ) possui um parâmetro chamado 'keep_first' que por padrão vem setado como 'TRUE'. Então, na sua tabela, sempre o primeiro parâmetro será mantido, mas é o primeiro parâmetro que aparece n sua tabela, independente de ordenação ou não. Caso queira permanecer com o último, basta colocar o keep_first = False, que aí somente o último será deletado. Aí com isso você deverá verificar como ordenará sua tabela. No caso de data, você ordenaria com o sort_values( ) passando sua coluna de DATA e se ele deve ser ascendente (ascending = True) ou descendente (ascending = False). A partir disso, você dropa usando o drop_duplicates( ) a partir da data que deseja eliminar (a mais recente ou a mais antiga)
@danilodantas1426
@danilodantas1426 2 жыл бұрын
@@alldados Ótimo! Vou procurar estudar mais as funções! Obrigado pelo esclarecimento e parabéns! Ótimo conteúdo!
2 жыл бұрын
cara, que conteúdo excelente e super didático
@alldados
@alldados 2 жыл бұрын
Muito obrigado André
@gabrielspn
@gabrielspn 2 жыл бұрын
Incrível, pra fazer no excel é de um trabalho muito maior. Muito bem explicado e simples. abraço!
@alldados
@alldados 2 жыл бұрын
Muito obrigado Gabriel
@jpduff
@jpduff 2 жыл бұрын
Muitíssimo obrigado! Me ajudou enormemente no meu trabalho. Parabéns pelo trabalho!
@alldados
@alldados 2 жыл бұрын
Muito obrigado jpduff
@tatianacavalcantedossantos4342
@tatianacavalcantedossantos4342 2 жыл бұрын
Amigo como faço para excluir linhas com valores específicos , ex: na minha tabela tem o nome código e eu preciso excluir todas as linhas que contém esse nome.
@alldados
@alldados 2 жыл бұрын
Tatiana, você pode usar condições com .loc e filtrá-las. Exemplo: df = df.loc[~df['colunaA'] == condicao] ou df = df.loc[df['colunaA'] != condicao] Isso já eliminará as linhas com essas condições.
@monicamaria1801
@monicamaria1801 2 жыл бұрын
Obrigada por esta aula. Como faria uma pesquisa de busca no conteúdo em uma coluna na planilha e repetir os dados que atendem a este parâmetro em outra parte da mesma planilha. Agradeço se puder me ajudar. Tudo de bom
@alldados
@alldados 2 жыл бұрын
Olá Monica. Pelo que entendi, você pode usar o .loc para verificar esse valor e atribuí-lo na coluna de interesse...seria mais ou menos assim: df = df.loc[df['colunaA'] == condicao, 'colunaB' ] = df['colunaA'] neste caso, quando a condição aparecer na colunaA, a nova colunaB terá o valor da colunaA
@guilhermeruizb
@guilhermeruizb 2 жыл бұрын
Amigo, otimo video em primeiro lugar Na minha pasta existe varios arquivos, é um processo. Não posso tirar nenhum arquivo dessa pasta. Como posso ler tudo mas apenas unir 2 arquivos dessa pasta?
@alldados
@alldados 2 жыл бұрын
Oi Guilherme. No seu caso acredito que no momento da iteração pra ir unindo os arquivos você pode testar se o nome é igual a esses 2 arquivos de interesse... Tipo assim: If 'nome_de_interesse' in arquivo: df = pd.read_csv(arquivo) Else: pass
@bigbang1590
@bigbang1590 2 жыл бұрын
Olá! Aparecem esses erros pra mim, o que pode ser? NameError Traceback (most recent call last) <ipython-input-8-63347bc25445> in <module> ----> 1 Issues=pd.read_excel('base') NameError: name 'pd' is not defined
@robertabarcellos8323
@robertabarcellos8323 2 жыл бұрын
precisa importar o pandas, caso tenha importado verifique se o código de importação está correto. o Erro diz q o nome pd não está definido.
@alldados
@alldados 2 жыл бұрын
Segue o que a Roberta acabou de dizer...faltou importar o pandas com o "import pandas as pd"
@paulovictor9262
@paulovictor9262 2 жыл бұрын
Acredito que vai me ajudar, já já vou tentar aqui. Vlww
@alldados
@alldados 2 жыл бұрын
tmj Paulo
@danielfilho4900
@danielfilho4900 2 жыл бұрын
man to precisando de ajuda com um projeto mais o pandas n abre o arquivo q eu seleciono mesmo eu colocando tudo exatamente n sei mais oque fazer
@alldados
@alldados 2 жыл бұрын
Olá Daniel, O que pode acontecer é se o tipo de arquivo está no mesmo padrão repassado no vídeo. Dependendo do arquivo xls que esteja trabalhando, há necessidade de mudar a posição do "header" para iniciar a leitura, ou o tipo de delimitador.
@yurikruk
@yurikruk 2 жыл бұрын
Insano, ótima explicação
@alldados
@alldados 2 жыл бұрын
obrigado yuriverso
@antonioteixeiraribeiro4122
@antonioteixeiraribeiro4122 2 жыл бұрын
Muito bom o vídeo, objetivo, sucinto, prático. atende perfeitamente o que se propõe a fazer.