Alunos Paulo Cesar Postado Agosto 26 Alunos Compartilhar Postado Agosto 26 Prezados, boa tarde! Tenho essa base de dados e gostaria de transforma-la em um arquivo de excel. Alguém poderia ajudar? 2024770000028052.txt Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Henrique Merola Faria Postado Setembro 3 Alunos Compartilhar Postado Setembro 3 Bom dia @Paulo Cesar. A solução desse problema é programação mesmo, o que não é minha praia. EDI normalmente é bem complicado, então as empresas tem um sistema próprio para isso ou usam o serviço de um portal genérico, onde recebem os arquivos, alteram e respondem. (já trabalhei numa interface do primeiro caso e foi osso...>>) Se você só precisa alterar alguns campos, acredito que o caminho é esse que você está explorando: - ler o arquivo desejado - encontrar o campo a alterar pela posição - sobrescrever o campo com a nova informação - salvar o arquivo alterado -> aqui penso que o arquivo muda de nome para ser enviado e identificado pelo receptor como arquivo de resposta. Se a alteração é "fixa" ou pode ser calculada por uma regra, acredito que funciona bem. Se a alteração for variável, dependendo de informação do usuário, aí já vai precisar de uma tela, é mais trabalhoso. Mais que isso não consigo te ajudar, amigo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Alex Pereira Postado Agosto 27 Alunos Compartilhar Postado Agosto 27 Poderia fornecer o cabeçalho do arquivo? Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Henrique Merola Faria Postado Agosto 27 Alunos Compartilhar Postado Agosto 27 (editado) Se é só um arquivo xls que você precisa, está em anexo. Pelo jeito, é um arquivo EDI, com vários registros diferentes (por isso não tem cabeçalho) É só isso mesmo que vc precisa ? 2024770000028052.xlsx Editado Agosto 27 por Henrique Merola Faria Complementando informação Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Paulo Cesar Postado Agosto 28 Autor Alunos Compartilhar Postado Agosto 28 22 horas atrás, Henrique Merola Faria disse: Se é só um arquivo xls que você precisa, está em anexo. Pelo jeito, é um arquivo EDI, com vários registros diferentes (por isso não tem cabeçalho) É só isso mesmo que vc precisa ? 2024770000028052.xlsx 14.27 kB · 2 downloads Bom dia @Henrique Merola Faria os dados ficam assim mesmo ou tenho ajustar na mão as colunas Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Henrique Merola Faria Postado Agosto 28 Alunos Compartilhar Postado Agosto 28 (editado) Bom dia @Paulo Cesar , desse jeito não tem como usar. Na mão, não compensa, a não ser que seja somente dessa vez e nunca mais.... Salvo engano, ali tem 18 tipos de blocos diferentes, cada um com pedaço da informação, sendo que cada coluna tem um campo, que não é identificado. A identificação vc tem de pegar do manual que descreve o serviço de origem do arquivo. A primeira coluna é o nome do bloco, ela é a referências para as transformações -- editado A grosso modo, o que vc precisará fazer no Power BI: - identificar quais blocos vc precisa realmente (pouco provável que vá usar todos) - fazer múltiplas cargas do arquivo, gerando uma consulta para cada bloco > a opção Referência de consulta no power query vai bem aqui. > usa o opção de Fonte de dados = texto/csv e muda o delimitador para "|" > usa o registro VW_CSF_NOTA_FISCAL como dimensão, para fazer os relacionamentos - inserir os nomes das colunas em cada consulta manualmente - fazer outras transformações necessárias Assim você tem o modelo de dados convencional para usar no Power BI. Qualquer coisa, manda aqui ! Editado Agosto 28 por Henrique Merola Faria Complementando informação Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Paulo Cesar Postado Setembro 3 Autor Alunos Compartilhar Postado Setembro 3 Em 28/08/2024 em 10:55, Henrique Merola Faria disse: Bom dia @Paulo Cesar , desse jeito não tem como usar. Na mão, não compensa, a não ser que seja somente dessa vez e nunca mais.... Salvo engano, ali tem 18 tipos de blocos diferentes, cada um com pedaço da informação, sendo que cada coluna tem um campo, que não é identificado. A identificação vc tem de pegar do manual que descreve o serviço de origem do arquivo. A primeira coluna é o nome do bloco, ela é a referências para as transformações -- editado A grosso modo, o que vc precisará fazer no Power BI: - identificar quais blocos vc precisa realmente (pouco provável que vá usar todos) - fazer múltiplas cargas do arquivo, gerando uma consulta para cada bloco > a opção Referência de consulta no power query vai bem aqui. > usa o opção de Fonte de dados = texto/csv e muda o delimitador para "|" > usa o registro VW_CSF_NOTA_FISCAL como dimensão, para fazer os relacionamentos - inserir os nomes das colunas em cada consulta manualmente - fazer outras transformações necessárias Assim você tem o modelo de dados convencional para usar no Power BI. Qualquer coisa, manda aqui ! @Henrique Merola Fariabom dia! Tudo bem? Na verdade não precisa por no BI não seria mesmo no Excel, agora não sei se em Python resolveria, eu acho que vai utilizar todas as colunas porque quando eles recebem esse arquivo eles fazer algumas alterações em relação a peso do produto e depois eles tem que voltar esse arquivo no mesmo formato que recebeu. Eu tenho um scripit em Python, ele pega a data do cabeçalho e cria uma coluna no final com essa data. def processar_arquivo(entrada, saida): def converter_data(data): if len(data) == 8 and data.isdigit(): dia = data[0:2] mes = data[2:4] ano = data[4:8] return f"{dia}/{mes}/{ano}" else: raise ValueError(f"Formato de data inválido: {data}") try: with open(entrada, 'r', encoding='utf-8') as file: lines = file.readlines() print(f"{len(lines)} linhas lidas do arquivo {entrada}.") except UnicodeDecodeError: try: with open(entrada, 'r', encoding='latin-1') as file: lines = file.readlines() print(f"{len(lines)} linhas lidas do arquivo {entrada} com codificação latin-1.") except Exception as e: print(f"Erro ao abrir o arquivo {entrada}: {e}") return except FileNotFoundError: print(f"Erro: O arquivo {entrada} não foi encontrado.") return except Exception as e: print(f"Erro ao abrir o arquivo {entrada}: {e}") return data_atual = "" resultado = [] for line in lines: if line.startswith('|I200'): partes = line.split('|') if len(partes) > 3: try: data_atual = converter_data(partes[3]) print(f"Data atualizada para {data_atual} na linha {line.strip()}") except ValueError as ve: print(ve) continue else: print(f"Erro: Linha malformada {line.strip()}") elif line.startswith('|I250'): line = line.strip() + '|' + data_atual + '|\n' print(f"Linha modificada para {line.strip()}") resultado.append(line) try: with open(saida, 'w', encoding='utf-8') as file: file.writelines(resultado) print(f"Arquivo de saída {saida} Criado com Sucesso.") except Exception as e: print(f"Erro ao escrever no arquivo {saida}: {e}") # Exemplo de uso entrada = '07607884000196-29202839138-20220101-20221231-G-25D6A5B48B27F3B9B0F00B7A64090FCA112152FC-1-SPED-ECD.txt' saida = '07607884000196-29202839138-20220101-20221231-G-25D6A5B48B27F3B9B0F00B7A64090FCA112152FC-1-SPED-ECD.txt' processar_arquivo(entrada, saida) Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Paulo Cesar Postado Setembro 4 Autor Alunos Compartilhar Postado Setembro 4 Em 03/09/2024 em 11:21, Henrique Merola Faria disse: Bom dia @Paulo Cesar. A solução desse problema é programação mesmo, o que não é minha praia. EDI normalmente é bem complicado, então as empresas tem um sistema próprio para isso ou usam o serviço de um portal genérico, onde recebem os arquivos, alteram e respondem. (já trabalhei numa interface do primeiro caso e foi osso...>>) Se você só precisa alterar alguns campos, acredito que o caminho é esse que você está explorando: - ler o arquivo desejado - encontrar o campo a alterar pela posição - sobrescrever o campo com a nova informação - salvar o arquivo alterado -> aqui penso que o arquivo muda de nome para ser enviado e identificado pelo receptor como arquivo de resposta. Se a alteração é "fixa" ou pode ser calculada por uma regra, acredito que funciona bem. Se a alteração for variável, dependendo de informação do usuário, aí já vai precisar de uma tela, é mais trabalhoso. Mais que isso não consigo te ajudar, amigo. @Henrique Merola Fariabom dia! Obrigado pela ajuda! 1 Link para o comentário Compartilhar em outros sites More sharing options...
0 Alunos Henrique Merola Faria Postado Setembro 4 Alunos Compartilhar Postado Setembro 4 Valeu Paulo, sinto não poder ajudar mais. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Cesar
Prezados, boa tarde!
Tenho essa base de dados e gostaria de transforma-la em um arquivo de excel.
Alguém poderia ajudar?
2024770000028052.txt
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Faça login para comentar
Você vai ser capaz de deixar um comentário após fazer o login
Entrar Agora