Como Traduzir Documentos do Excel Usando Python e ChatGPT: Um Guia Passo a Passo

Translate Excel ChatGPT

Introdução

Existem muitas ferramentas de tradução disponíveis. Porém nem todas entregam bons resultados. É por isso que gostamos tanto do ChatGPT.

O ChatGPT foi criado pela OpenAI. Ele é mais que uma ferramenta comum. É extremamente eficiente em diversas tarefas, especialmente em tradução. Frequentemente, suas traduções são tão competentes quanto as realizadas por profissionais.

Aliás, você pode use our service for easy translations. Simplesmente faça o upload do seu arquivo Excel. Nosso site irá traduzi-lo para você. Após concluir, faça o download do seu arquivo. O formato será mantido.

Mas como podemos utilizar o ChatGPT e Python para traduzir arquivos Excel por nós mesmos? Neste blog, vamos explicar o processo passo a passo. Nosso objetivo é garantir que suas traduções sejam rápidas e de qualidade superior.

Pré-requisitos

Antes de iniciarmos, existem algumas coisas das quais você vai precisar:

  • Conhecimento Básico em Python Este artigo envolverá um pouco de programação. É vantajoso se você possuir um entendimento básico de Python. Mas não se preocupe, explicaremos tudo detalhadamente.
  • Python Verifique se você tem o Python instalado no seu computador. Caso contrário, você pode fazer o download pelo site oficial.
  • pip Essa é uma ferramenta que facilita a instalação de bibliotecas Python. Se você instalou o Python3, é provável que já tenha o pip.
  • Chave da API do GPT-4 da OpenAI Para utilizar o ChatGPT para tradução, você precisará desta chave. Se você ainda não tem uma, visite o site da OpenAI para adquiri-la.
  • Seu Arquivo Excel Prepare o arquivo Excel que deseja traduzir.

Espreitando Dentro de um Arquivo Excel

Quando você salva uma planilha no Excel com a extensão .xlsx, o que você realmente está fazendo é agrupar vários arquivos em um só. Esse formato de arquivo é conhecido como OpenXML. Se você já teve curiosidade sobre os mecanismos internos de um arquivo Excel, vamos abri-lo para espionar e dar uma conferida:

1. Pasta das Planilhas (xl/worksheets/):

Dentro desta pasta, você encontrará um arquivo XML para cada planilha que está no seu arquivo do Excel. Então, se houvesse três abas ou planilhas no seu workbook, você encontraria sheet1.xml, sheet2.xml e sheet3.xml aqui.

Cada um desses arquivos XML representa as linhas, colunas e células de sua respectiva planilha. É onde os seus dados de fato estão localizados.

2. Estilos (xl/styles.xml):

Este arquivo XML é como um estilista para os seus dados no Excel. Ele contém as definições para todos os estilos utilizados em seu workbook.

Se você já se perguntou como o Excel lembra quais células são azuis, quais textos estão em negrito ou quais números são formatados como moeda, está tudo aqui definido.

3. Strings Compartilhadas (xl/sharedStrings.xml):

Para economizar espaço e tornar o arquivo mais eficiente, o Excel insere todas as strings únicas (textos) utilizadas nas suas planilhas nesse arquivo.

Por exemplo, se você tivesse a palavra "Total" repetida 1.000 vezes em todo o seu workbook, ela estaria armazenada apenas uma única vez aqui, e depois referenciada onde quer que fosse usada.

4. Estrutura do Workbook (xl/workbook.xml):

Considere isto como o sumário para o seu arquivo Excel.

Ele esboça a estrutura do workbook, detalhando aspectos como quais planilhas estão presentes, a sua ordem, e até certas propriedades como proteção da planilha.

Ao trabalhar com ferramentas como o openpyxl, a maioria desses detalhes fica oculta, possibilitando que você manipule os dados do Excel de uma forma mais intuitiva. No entanto, compreender esta estrutura pode oferecer insights valiosos, especialmente se você estiver buscando realizar operações avançadas ou resolver problemas.

Lendo e Escrevendo Documentos do Excel com openpyxl

openpyxl é uma biblioteca Python especificamente criada para ler e escrever arquivos do Excel (tanto .xlsx quanto .xlsm). Ela permite que você trabalhe diretamente com as planilhas e células do Excel.

Veja como iniciar:

1. Instale o openpyxl

Caso ainda não tenha feito, instale o openpyxl usando o pip:

pip install openpyxl

2. Fundamentos do Excel com openpyxl

Para trabalhar efetivamente com openpyxl, é vantajoso compreender alguns conceitos essenciais do Excel e como eles se aplicam às operações com openpyxl:

A. Pasta de Trabalho: Quando falamos sobre um arquivo do Excel, estamos nos referindo a uma Pasta de Trabalho. No openpyxl, você pode considerar a pasta de trabalho como o arquivo principal com o qual você está trabalhando.

from openpyxl import load_workbook
# Loading an existing workbook
workbook = load_workbook(filename="sample.xlsx")

B. Planilha: Uma pasta de trabalho contém planilhas individuais, que são como páginas de um livro. Cada planilha organiza seus dados em formato de tabela. Com openpyxl, é possível acessar a planilha ativa ou qualquer planilha pelo seu nome.

# Getting the active sheet
sheet = workbook.active
# Accessing a sheet by name
another_sheet = workbook["Sheet2"]

C. Célula: As planilhas são compostas por linhas e colunas. Onde uma linha e uma coluna se encontram, existe uma célula. É neste local que os seus dados ficam armazenados. O openpyxl oferece a possibilidade de ler e escrever dados nessas células.

# Reading the value from cell A1
cell_value = sheet["A1"].value
# Writing to cell B1
sheet["B1"] = "Hello, Excel!"

D. Linha e Coluna: No Excel, as linhas se estendem na horizontal e são numeradas, enquanto as colunas se estendem na vertical e são identificadas por letras. O openpyxl disponibiliza métodos intuitivos para navegar entre elas.

# Iterating through rows
for row in sheet.iter_rows(values_only=True):
    for value in row:
        print(value)

3. Lendo e Editando o Arquivo do Excel

from openpyxl import load_workbook
 
# Load the workbook and select the active sheet
workbook = load_workbook(filename='your_file.xlsx')
 
# Loop through all sheets
for sheet in workbook:
    # Loop through all rows and columns in the sheet
    for row in sheet.iter_rows():
        for cell in row:
            original_text = cell.value
 
            # Check if the cell contains text
            if isinstance(original_text, str):
                # Replace with your ChatGPT translation method
                translated_text = TRANSLATION_METHOD_HERE(original_text)
                cell.value = translated_text
 
# Save the changes to the same file
workbook.save('your_file.xlsx')

No código acima, substitua "MÉTODO_DE_TRADUÇÃO_AQUI" pelo método que você usará para traduzir textos usando o ChatGPT. Esse método será aplicado a cada célula da planilha. Se uma célula contiver texto, ele será traduzido.

Traduzindo com ChatGPT

Depois de carregar os seus dados do Excel com o openpyxl, o próximo passo é traduzir o conteúdo utilizando o ChatGPT. Aqui está um guia passo a passo:

1. Instale o cliente Python da OpenAI:

Este cliente nos permite interagir com o ChatGPT e obter traduções.

pip install openai

2. Configuração da Tradução pelo ChatGPT:

import openai
 
# Initialize the OpenAI API with your key
# openai.api_key = 'YOUR_OPENAI_API_KEY'
 
def translate_text(text, target="en"):
    content = "Translate the following text to " + target + ": " + text
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": content}]
    )
 
    return response.choices[0].message.content

Evidentemente, se você desejar, é possível substituir o ChatGPT pelo DeepL ou por outro serviço de tradução com facilidade. O charme da função de tradução está na sua simplicidade, o que permite uma integração flexível com diversas ferramentas de tradução.

3. Integrar Tradução com a Iteração no Excel:

Agora, integre esta função de tradução ao código openpyxl já existente. Para cada célula que contém texto, chame translate_text para conseguir a sua tradução.

# ... (Your openpyxl code to read the Excel file)
 
    for row in sheet.iter_rows():
        for cell in row:
            original_text = cell.value
 
            if isinstance(original_text, str):
                # Replace 'TARGET' with desired language code
                translated_text = translate_text(original_text, "TARGET")
                cell.value = translated_text
 
workbook.save('your_translated_file.xlsx')

4. Lembre-se dos seus Custos de API:

Observe que a tradução de arquivos grandes de Excel pode resultar em um número significativo de chamadas de API, o que pode ser custoso. Sempre monitore o seu uso para evitar cobranças inesperadas.

Código Completo: Tradução do Excel para Francês com ChatGPT e openpyxl

Com este código, é possível traduzir rapidamente textos em inglês de um arquivo do Excel para o francês. Utilizaremos a capacidade do ChatGPT para realizar a tradução e o openpyxl para manipular o arquivo do Excel. Vamos começar!

from openpyxl import load_workbook
import openai
 
# Initialize the OpenAI API with your key
openai.api_key = 'YOUR_OPENAI_API_KEY'
 
def translate_text(text, target="fr"):
    content = "Translate the following text to " + target + ": " + text
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": content}]
    )
 
    return response.choices[0].message.content
 
# Load the workbook and select the active sheet
workbook = load_workbook(filename='your_file.xlsx')
 
# Loop through all sheets
for sheet in workbook:
    # Loop through all rows and columns in the sheet
    for row in sheet.iter_rows():
        for cell in row:
            original_text = cell.value
 
            # Check if the cell contains text
            if isinstance(original_text, str):
                translated_text = translate_text(original_text)
                cell.value = translated_text
 
# Save the changes to the same file
workbook.save('your_translated_file.xlsx')

Conclusão

Utilizando o ChatGPT e o openpyxl, desenvolvemos uma ferramenta simples para traduzir textos do Inglês no Excel para idiomas como Francês, Japonês e Alemão. Embora o nosso exemplo tenha demonstrado com o Francês, você pode adaptar este método para qualquer idioma que o ChatGPT suporte. Todo o processo é incrivelmente direto, necessitando de apenas cerca de 30 linhas de código.

Além disso, você pode utilizar o nosso site para traduções fáceis. Basta fazer o upload do seu arquivo Excel e nós o traduziremos para você. Após a conclusão, é só baixar o seu arquivo. Simples e rápido!

Perguntas Frequentes (FAQs) e Soluções

O que faço se eu receber um erro relacionado ao limite da API?

Resposta: A plataforma OpenAI possui certos limites de tarifação dependendo do tipo da sua conta. Se você se deparar com um erro de limite de tarifação, pode ser necessário adicionar algum atraso no seu script entre as chamadas de tradução ou considerar a atualização de sua conta OpenAI para um nível superior.

Como posso traduzir para múltiplas línguas ao mesmo tempo?

Resposta: Você pode modificar o código para percorrer uma lista de idiomas alvo. Para cada célula, você pode invocar a função de tradução várias vezes para cada idioma e salvar os resultados em abas separadas do Excel ou em diferentes arquivos.

Há algum custo associado ao uso do ChatGPT para tradução?

Resposta: Sim, usar a API da OpenAI pode gerar custos associados, dependendo do seu uso e do plano de assinatura. Mantenha sempre um controle sobre o seu uso para evitar contas inesperadas.

Este artigo aborda principalmente sobre como traduzir arquivos Excel. Se você desejar usar Python e ChatGPT para traduzir documentos do Word, você pode consultar o Automating Word Document Translation with Python and ChatGPT.