Cara parabéns pelo conteúdo! Acredito que na maioria das empresa de médio e grande porte que não gostam de utilizar tecnologia pois acham um gasto insignificante aconteça isso. Onde estou acontece isso que vc menciona no começo do vídeo e temos que nos virar aqui pra fazer um entrega bem feita!
Obrigado pelo video, consegui adequar ao que eu precisava, carreguei varios arquivos txt, transformei em um arquivo txt maior, dai selecionei o delimitador "," entao criei um .xlsx em forma de tabela e construi uma rotina de carga para esse arquivo .xlsx no meu SQL Server. Vou deixar o código aqui para quem quiser; import pyodbc import pandas as pd from pyparsing import delimited_list #Trata ZAA160 Para Carga from os import sep from tkinter.font import names from glob import glob from pyparsing import delimited_list arquivos = sorted(glob(r'../SQL Server/*.txt')) zaa160 = pd.concat((pd.read_table(cont,sep="|",names={('Valor'):str,('Origem'):str,('Destino'):str,('CEP'):str,('Carro'):float}) for cont in arquivos)) zaa160.to_excel(r'../SQL Server/zaa160_tratada/zaa160_tratada.xlsx',index=False) print(zaa160) #CONEXAO COM O BANCO DE DADOS conexao_dw = ( "Driver={SQL Server Native Client 11.0};" "Server=DESKTOP-QPSMS6J\SQLPYTHON;" "Database=SQLPython;" "UID=sa;" "PWD=123456;") conexao_dw = pyodbc.connect(conexao_dw) cursor_dw = conexao_dw.cursor() #LEITURA DA PLANILHA df = pd.read_excel(r'../SQL Server/zaa160_tratada/zaa160_tratada.xlsx') #APAGAR REGISTROS NA TABELA #cursor_dw.execute('TRUNCATE TABLE dbo.SQLPython3') #cursor_dw.commit() print(df) #PERCORRENDO LINHA A LINHA DA TABELA E INSERINDO NO BANCO DE DADOS for i, Valor in enumerate(df['Valor']): Origem = df.loc[i,'Origem'] Destino = df.loc[i,'Destino'] CEP = df.loc[i,'CEP'] Carro = df.loc[i,'Carro'] dados = "'{}',""'{}',""'{}',""'{}',""{})".format(Valor,Origem,Destino,CEP,Carro) script = '''insert into dbo.SQLPython4 ([Valor], [Origem], [Destino], [CEP], [Carro]) values (''' query = script + dados #print(query) cursor_dw.execute(query) cursor_dw.commit() print("Carga Concluida")
Mano, perfeito, fiz o que você falou mas testeiutilizando arquivos JSON que exportei do meu relógio, eu estava perdido tentando compilar tudo isso. Muito obrigado!
Sim! Veja quantas linhas você tem no arquivo, digamos que seja n. Faça uma lista de tamanho n cujos itens são todos iguais ao nome do arquivo, por exemplo: ['nomedoarquivo', 'nomedoarquivo'] Insira essa lista como uma coluna na sua tabela/dataframe. Você pode inserir como uma coluna extra ou pesquisar como trocar a coluna de índices e mudar para a sua lista de nome do arquivo. Provavelmente tem jeitos melhores rs. Vamos pesquisar!
Prezado Macerlo, parabpePrezado Marcelo, parabéns pela didática! sensacional o exemplo de concatenar arquivos do excel. Você consegue compartilhar um exenplo para juntar aquivos pdf e ler o conteúdo para um data frane do python? Sucesso e muita prosperidade!
Parabéns pelo conteúdo! Como eu posso organizar os dados no caso dos arquivos serem .txt? Eu concatenei os dados, mas ficaram todos desorganizados em apenas uma coluna, sendo que são cinco colunas nos arquivos originais.
Boa tarde professor, Tenho alguns arquivos .txt que estão em uma pasta que está dentro de um arquivo .zip, como faço pra abrir o zip primeiro e depois abrir a pasta?
Bom dia, Marcelo! Show teus vídeos. Cara, uma dúvida: estou aplicando Merge em dois arquivos csv, um tem 6180000 linhas e o outro 1997000. Estou usando How left, sendo o arquivo de 6180000 o da esquerda. Porém, no resultado vem 7397000 linhas. Podes me dar uma luz? Obrigado.
@@pythonnapratica7271 Estou com dificuldades para encontrar conteúdo para isso... preciso fazer exatamente o que fez com o excel mas com 1 pasta com xml que é alimentada diariamente!
Não funciona com csv ? bases_geral = pd.concat((pd.read_csv(cont) for cont in bases)) Apresenta o seguinte erro: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 134: invalid continuation byte Obrigado.
Funciona sim, mas tem um truque para ler CSV, da uma olhada nesse video, que eu ensino como ler CSVs ruclips.net/video/bH7jBGuIJkU/видео.html Obrigado!
@@pythonnapratica7271 Obrigado pela resposta. Eu já havia tentado dessa forma, só consegui para ler 1 arquivo .CSV. Mas para a leitura no pd.concat não consegui utilizar: bases_geral = pd.concat(((pd.read_csv(cont) for cont in bases, encoding="latin1", sep=";"))) Quando tento dessa forma, aparece "SyntaxError: invalid syntax"
Consegui Fiz algumas pesquisas e ficou dessa forma: import pandas as pd from glob import glob bases = sorted(glob(r'C:/Users/User/Downloads/hora_hora/*.csv')) bases_geral = pd.concat(pd.read_csv(arquivos, encoding='latin1', sep=';').assign(sourcefilename = arquivos) for arquivos in bases) bases_geral
Estou com um problema. Subi os arquivos, mas tenho que nomea-los individualmente, tipo df1, df2, df3. Quero automatizar esta tarefa, ao invés de partir para join ou concat, pois na forma atual que estão, causaria muitos problemas posteriormente. Pode me ajudar?
Usando somente este comando nao e possivel, voce precisa ler a planilha usando o win32 component, da mais trabalho porque voce vai manipular o excel, seria esta library: import win32com.client as win32 excel = win32.gencache.EnsureDispatch('Excel.Application')
Cara parabéns pelo conteúdo!
Acredito que na maioria das empresa de médio e grande porte que não gostam de utilizar tecnologia pois acham um gasto insignificante aconteça isso.
Onde estou acontece isso que vc menciona no começo do vídeo e temos que nos virar aqui pra fazer um entrega bem feita!
Obrigado pelo video, consegui adequar ao que eu precisava,
carreguei varios arquivos txt, transformei em um arquivo txt maior, dai selecionei o delimitador "," entao criei um .xlsx em forma de tabela e construi uma rotina de carga para esse arquivo .xlsx no meu SQL Server.
Vou deixar o código aqui para quem quiser;
import pyodbc
import pandas as pd
from pyparsing import delimited_list
#Trata ZAA160 Para Carga
from os import sep
from tkinter.font import names
from glob import glob
from pyparsing import delimited_list
arquivos = sorted(glob(r'../SQL Server/*.txt'))
zaa160 = pd.concat((pd.read_table(cont,sep="|",names={('Valor'):str,('Origem'):str,('Destino'):str,('CEP'):str,('Carro'):float}) for cont in arquivos))
zaa160.to_excel(r'../SQL Server/zaa160_tratada/zaa160_tratada.xlsx',index=False)
print(zaa160)
#CONEXAO COM O BANCO DE DADOS
conexao_dw = (
"Driver={SQL Server Native Client 11.0};"
"Server=DESKTOP-QPSMS6J\SQLPYTHON;"
"Database=SQLPython;"
"UID=sa;"
"PWD=123456;")
conexao_dw = pyodbc.connect(conexao_dw)
cursor_dw = conexao_dw.cursor()
#LEITURA DA PLANILHA
df = pd.read_excel(r'../SQL Server/zaa160_tratada/zaa160_tratada.xlsx')
#APAGAR REGISTROS NA TABELA
#cursor_dw.execute('TRUNCATE TABLE dbo.SQLPython3')
#cursor_dw.commit()
print(df)
#PERCORRENDO LINHA A LINHA DA TABELA E INSERINDO NO BANCO DE DADOS
for i, Valor in enumerate(df['Valor']):
Origem = df.loc[i,'Origem']
Destino = df.loc[i,'Destino']
CEP = df.loc[i,'CEP']
Carro = df.loc[i,'Carro']
dados = "'{}',""'{}',""'{}',""'{}',""{})".format(Valor,Origem,Destino,CEP,Carro)
script = '''insert into dbo.SQLPython4 ([Valor], [Origem], [Destino], [CEP], [Carro]) values ('''
query = script + dados
#print(query)
cursor_dw.execute(query)
cursor_dw.commit()
print("Carga Concluida")
Excelente! Isso é elegância! Você está correto!
Obrigado Danilo! Codigo compacto e elegante!
Ah.. continue com as aulas, estão TOP!
Obrigado Edson... ja tem video novo la!
Impossível ter dúvidas rs, MUITO OBRIGADO Pela aula!!!
Mano, perfeito, fiz o que você falou mas testeiutilizando arquivos JSON que exportei do meu relógio, eu estava perdido tentando compilar tudo isso. Muito obrigado!
Muito feliz por ter ajudado, conseguiu importar o JSON facilmente ne?
Marcelo, parabéns pela didática. video ficou excelente e me ajudou muito.
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo!
Esperando ainda por mais aulas, excelente, parabéns!
Show de bola... Parabéns.... Excelente video e didáctica.....
Muito top, inscrito
Cara, muito bom! parabéns
Fantástico!!! Aula Showw..
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo!
showwww de bola !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Sensacional
!!!!
òtima aula
Gostei muito parabéns 👍
Show, obrigado !!!
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo!
Muito obrigado, pelo conteúdo, gostaria de saber se pra cada arquivo que agrupou, tem como trazer o nome de cada ?
Sim!
Veja quantas linhas você tem no arquivo, digamos que seja n. Faça uma lista de tamanho n cujos itens são todos iguais ao nome do arquivo, por exemplo:
['nomedoarquivo', 'nomedoarquivo']
Insira essa lista como uma coluna na sua tabela/dataframe.
Você pode inserir como uma coluna extra ou pesquisar como trocar a coluna de índices e mudar para a sua lista de nome do arquivo.
Provavelmente tem jeitos melhores rs. Vamos pesquisar!
Prezado Macerlo, parabpePrezado Marcelo,
parabéns pela didática!
sensacional o exemplo de concatenar
arquivos do excel.
Você consegue compartilhar um exenplo
para juntar aquivos pdf e ler o conteúdo
para um data frane do python?
Sucesso e muita prosperidade!
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo!
@@pythonnapratica7271 Sugiro um vídeo com uma análise completa de um case real. Muito obrigado! Saúde e sucesso!
Parabéns pelo conteúdo!
Como eu posso organizar os dados no caso dos arquivos serem .txt? Eu concatenei os dados, mas ficaram todos desorganizados em apenas uma coluna, sendo que são cinco colunas nos arquivos originais.
Boa tarde professor,
Tenho alguns arquivos .txt que estão em uma pasta que está dentro de um arquivo .zip, como faço pra abrir o zip primeiro e depois abrir a pasta?
Professor por favor me ajuda, como consigo abrir uma pasta com vários arquivos em Excel dentro, no python?
Você assistiu o vídeo? Ele está explicando exatamente isso!!
Grande Danilo, isso ai!
Como podemos concatenar arquivos txt com o pandas de modo q fique um abaixo do outro e utilizemos como um dataframe
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo!
Bom dia, Marcelo! Show teus vídeos. Cara, uma dúvida: estou aplicando Merge em dois arquivos csv, um tem 6180000 linhas e o outro 1997000. Estou usando How left, sendo o arquivo de 6180000 o da esquerda. Porém, no resultado vem 7397000 linhas. Podes me dar uma luz? Obrigado.
Como consigo fazer o mesmo processo com XML? Meu Pandas read não tem xml!
Cara, voce tem que usar outra coisa, tenta o beautiful soup
@@pythonnapratica7271 Estou com dificuldades para encontrar conteúdo para isso... preciso fazer exatamente o que fez com o excel mas com 1 pasta com xml que é alimentada diariamente!
@@danilodantas1426 Vou preparar um video para isso!
Video novo no ar, feito pra voce, vai la ruclips.net/video/OsP86HOmdec/видео.html
@@pythonnapratica7271 Vou ver agora meu amigo! Muito top!
Não funciona com csv ?
bases_geral = pd.concat((pd.read_csv(cont) for cont in bases))
Apresenta o seguinte erro: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 134: invalid continuation byte
Obrigado.
Funciona sim, mas tem um truque para ler CSV, da uma olhada nesse video, que eu ensino como ler CSVs
ruclips.net/video/bH7jBGuIJkU/видео.html
Obrigado!
@@pythonnapratica7271 Obrigado pela resposta. Eu já havia tentado dessa forma, só consegui para ler 1 arquivo .CSV.
Mas para a leitura no pd.concat não consegui utilizar:
bases_geral = pd.concat(((pd.read_csv(cont) for cont in bases, encoding="latin1", sep=";")))
Quando tento dessa forma, aparece "SyntaxError: invalid syntax"
@@jean2943 Voce pode criar uma funcao para ler usando o enconding, e usar a funcao no concat... nao fiz, mas imagino que da certo...
Consegui
Fiz algumas pesquisas e ficou dessa forma:
import pandas as pd
from glob import glob
bases = sorted(glob(r'C:/Users/User/Downloads/hora_hora/*.csv'))
bases_geral = pd.concat(pd.read_csv(arquivos, encoding='latin1', sep=';').assign(sourcefilename = arquivos)
for arquivos in bases)
bases_geral
Funciona pra XML?
Funciona, mas tem que usar o beaultiful soup para isso!
Estou com um problema. Subi os arquivos, mas tenho que nomea-los individualmente, tipo df1, df2, df3. Quero automatizar esta tarefa, ao invés de partir para join ou concat, pois na forma atual que estão, causaria muitos problemas posteriormente. Pode me ajudar?
Muito obrigado, estive offline estudando Machine Learning, agora volto com tudo! Ao inves de concatenar, renomeia usando o contador do looping.
Como exportar para o Excel uma sheet sem apagar as outras que já existem?
Usando somente este comando nao e possivel, voce precisa ler a planilha usando o win32 component, da mais trabalho porque voce vai manipular o excel, seria esta library:
import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')