Wie man Excel-Dokumente mit Python und ChatGPT übersetzt: Eine Schritt-für-Schritt-Anleitung

Translate Excel ChatGPT

Einleitung

Es gibt viele Übersetzungs-Tools da draußen. Aber nicht alle liefern gute Ergebnisse. Das ist der Grund, warum wir ChatGPT so sehr mögen.

ChatGPT wurde von OpenAI entwickelt. Es ist mehr als nur ein gewöhnliches Tool. Es ist sehr gut bei vielen Aufgaben, insbesondere beim Übersetzen. Oft sind seine Übersetzungen ebenso gut wie die von professionellen Übersetzern.

Übrigens, du kannst use our service for easy translations. Lade einfach deine Excel-Datei hoch. Unsere Webseite wird sie für dich übersetzen. Nachdem der Vorgang abgeschlossen ist, kannst du deine Datei herunterladen. Das Format bleibt unverändert.

Aber wie können wir ChatGPT und Python nutzen, um Excel-Dateien selbst zu übersetzen? In diesem Blog zeigen wir dir Schritt für Schritt, wie das geht. Wir möchten sicherstellen, dass deine Übersetzungen schnell und von höchster Qualität sind.

Voraussetzungen

Bevor wir anfangen, gibt es ein paar Dinge, die Sie benötigen:

  • Grundlegende Python-Kenntnisse In diesem Artikel geht es ums Programmieren. Es ist von Vorteil, wenn Sie bereits Grundkenntnisse in Python haben. Aber keine Sorge, wir erklären Ihnen alles.
  • Python Vergewissern Sie sich, dass Python auf Ihrem Computer installiert ist. Falls nicht, können Sie es von der offiziellen Website herunterladen.
  • pip Dies ist ein Hilfsprogramm, um Python-Bibliotheken zu installieren. Wenn Sie Python3 installiert haben, haben Sie wahrscheinlich bereits pip.
  • OpenAI's GPT-4 API-Schlüssel Um ChatGPT für Übersetzungen zu nutzen, benötigen Sie diesen Schlüssel. Falls Sie noch keinen haben, besuchen Sie die Website von OpenAI, um ihn zu erhalten.
  • Ihre Excel-Datei Stellen Sie sicher, dass die Excel-Datei, die Sie übersetzen möchten, bereit ist.

Ein Blick in eine Excel-Datei

Wenn du eine Tabelle in Excel mit der Endung .xlsx speicherst, was du eigentlich machst, ist eine Menge Dateien zu einem Paket zu schnüren. Dieses Dateiformat ist als OpenXML bekannt. Falls du jemals neugierig auf die inneren Abläufe einer Excel-Datei warst, lass uns sie entzippen und einen Blick hineinwerfen:

1. Ordner für Arbeitsblätter (xl/worksheets/):

In diesem Ordner findest du eine XML-Datei für jedes Arbeitsblatt in deiner Excel-Datei. Wenn du also drei Registerkarten oder Blätter in deinem Arbeitsbuch hattest, findest du hier sheet1.xml, sheet2.xml und sheet3.xml.

Jede dieser XML-Dateien stellt die Zeilen, Spalten und Zellen des jeweiligen Blattes dar. Hier sind deine eigentlichen Daten gespeichert.

2. Stile (xl/styles.xml):

Diese XML-Datei ist wie der Modedesigner für Ihre Excel-Daten. Sie beinhaltet die Definitionen für alle Stile, die in Ihrer Arbeitsmappe verwendet werden.

Wenn Sie sich jemals gefragt haben, wie Excel sich merkt, welche Zellen blau sind, welche Texte fett gedruckt oder welche Zahlen als Währung formatiert sind, finden Sie all dies hier definiert.

3. Geteilte Zeichenketten (xl/sharedStrings.xml):

Um Speicherplatz zu sparen und die Datei effizienter zu gestalten, legt Excel alle einzigartigen Zeichenketten (Texte), die in Ihren Arbeitsblättern verwendet werden, in diese Datei ab.

Nehmen wir an, Sie hätten das Wort "Total" 1.000 Mal in Ihrem Arbeitsbuch verwendet, wird es hier nur einmal gespeichert und dann überall dort referenziert, wo es gebraucht wird.

4. Aufbau des Arbeitsbuchs (xl/workbook.xml):

Betrachten Sie dies als das Inhaltsverzeichnis Ihrer Excel-Datei.

Es zeigt den Aufbau des Arbeitsbuchs auf und erläutert Details wie die vorhandenen Blätter, deren Reihenfolge und sogar einige Eigenschaften wie Blattschutz.

Wenn Sie mit Tools wie openpyxl arbeiten, bleiben diese Details normalerweise für Sie verborgen, sodass Sie auf intuitive Weise mit Excel-Daten arbeiten können. Das Verständnis dieser Struktur kann jedoch Einblicke bieten, besonders wenn Sie fortschrittliche Operationen durchführen oder Probleme lösen möchten.

Lesen und Schreiben von Excel-Dokumenten mit openpyxl

openpyxl ist eine Python-Bibliothek, die speziell für das Lesen und Schreiben von Excel-Dateien (sowohl .xlsx als auch .xlsm) entwickelt wurde. Sie ermöglicht es dir, direkt mit Excel-Blättern und -Zellen zu arbeiten.

So kannst du beginnen:

1. Openpyxl installieren

Falls du es noch nicht getan hast, installiere openpyxl mit pip:

pip install openpyxl

2. Grundlagen von Excel mit openpyxl

Um mit openpyxl effektiv arbeiten zu können, ist es hilfreich, einige grundlegende Konzepte von Excel zu verstehen und wie diese in openpyxl umgesetzt werden:

A. Arbeitsmappe: Wenn wir von einer Excel-Datei sprechen, meinen wir damit eine Arbeitsmappe. In openpyxl kann man sich eine Arbeitsmappe als die Hauptdatei vorstellen, an der man arbeitet.

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

B. Blatt: Eine Arbeitsmappe beinhaltet einzelne Blätter, die wie Seiten in einem Buch sind. Jedes Blatt bewahrt Ihre Daten in einem tabellarischen Format. Mit openpyxl können Sie auf das aktive Blatt oder jedes Blatt anhand seines Namens zugreifen.

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

C. Zelle: Blätter bestehen aus Zeilen und Spalten. Dort, wo sich eine Zeile und eine Spalte überschneiden, befindet sich eine Zelle. Hier sind Ihre Daten gespeichert. openpyxl ermöglicht es Ihnen, Daten aus diesen Zellen zu lesen und in sie zu schreiben.

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

D. Zeile und Spalte: In Excel verlaufen Zeilen horizontal und sind numeriert, während Spalten vertikal verlaufen und mit Buchstaben gekennzeichnet sind. openpyxl stellt intuitive Methoden zur Verfügung, um durch diese zu navigieren.

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

3. Lesen und Bearbeiten der Excel-Datei

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')

Im obigen Code ersetze "TRANSLATION_METHOD_HERE" mit der Methode, die du nutzen wirst, um Texte mit ChatGPT zu übersetzen. Dieser Ansatz durchläuft jede Zelle in der Arbeitsmappe. Enthält eine Zelle Text, wird dieser übersetzt.

Übersetzen mit ChatGPT

Nachdem Sie Ihre Excel-Daten mit openpyxl geladen haben, folgt als nächster Schritt das Übersetzen des Inhalts mithilfe von ChatGPT. Hier ist eine Schritt-für-Schritt-Anleitung:

1. Den OpenAI Python-Client installieren:

Dieser Client ermöglicht es uns, mit ChatGPT zu interagieren und Übersetzungen zu erhalten.

pip install openai

2. ChatGPT-Übersetzung einrichten:

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

Natürlich können Sie, falls gewünscht, ChatGPT problemlos gegen DeepL oder einen anderen Übersetzungsdienst austauschen. Das Schöne an der Übersetzungsfunktion ist ihre Einfachheit, die eine flexible Integration mit verschiedenen Übersetzungstools ermöglicht.

3. Integration der Übersetzung mit der Excel-Iteration:

Mischen Sie jetzt diese Übersetzungsfunktion mit dem vorherigen openpyxl-Code. Für jede Zelle, die Text enthält, rufen Sie translate_text auf, um dessen Übersetzung zu erhalten.

# ... (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. Beachten Sie Ihre API-Kosten:

Bitte beachten Sie, dass das Übersetzen großer Excel-Dateien zu einer signifikanten Anzahl von API-Aufrufen führen kann, was kostspielig sein könnte. Überwachen Sie stets Ihren Verbrauch, um unerwartete Kosten zu vermeiden.

Vollständiger Code: Excel-Übersetzung ins Französische mit ChatGPT und openpyxl

Mit diesem Code können Sie schnell englischen Text in einer Excel-Datei ins Französische übersetzen. Wir werden die Fähigkeiten von ChatGPT für die Übersetzung und openpyxl zum Verwalten der Excel-Datei nutzen. Fangen wir an!

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')

Fazit

Durch den Einsatz von ChatGPT und openpyxl haben wir ein einfaches Tool entwickelt, um englische Texte in Excel in Sprachen wie Französisch, Japanisch und Deutsch zu übersetzen. Obwohl unser Beispiel auf Französisch ausgerichtet war, können Sie diese Methode für jede Sprache, die von ChatGPT unterstützt wird, anwenden. Der gesamte Vorgang ist beeindruckend einfach und benötigt nur etwa 30 Zeilen Code.

Zudem können Sie unsere Website für leichte Übersetzungen verwenden. Laden Sie einfach Ihre Excel-Datei hoch, und wir übernehmen die Übersetzung für Sie. Nachdem alles fertig ist, laden Sie Ihre Datei herunter. Einfach und schnell!

Häufig gestellte Fragen (FAQs) und Lösungen

Was soll ich tun, wenn ich einen Fehler wegen des API-Limits erhalte?

Antwort: Die OpenAI-Plattform verfügt über bestimmte Ratenbeschränkungen, die je nach Ihrem Kontotyp variieren. Wenn Sie auf einen Fehler aufgrund der Ratenbeschränkung stoßen, müssen Sie möglicherweise eine Verzögerung in Ihr Skript einbauen zwischen den Übersetzungsanfragen oder darüber nachdenken, Ihr OpenAI-Konto auf eine höhere Stufe zu aktualisieren.

Wie kann ich gleichzeitig in mehrere Sprachen übersetzen?

Antwort: Sie können den Code so ändern, dass er durch eine Liste von Zielsprachen iteriert. Für jede Zelle können Sie die Übersetzungsfunktion mehrmals für jede Sprache ausführen und die Ergebnisse in getrennten Excel-Tabellen oder Dateien speichern.

Fallen Kosten an, wenn ich ChatGPT für Übersetzungen verwende?

Antwort: Ja, die Nutzung der OpenAI-API kann mit Kosten verbunden sein, abhängig von Ihrer Nutzung und Ihrem Abonnementplan. Achten Sie stets auf Ihren Verbrauch, um unerwartete Rechnungen zu vermeiden.

Dieser Artikel behandelt in erster Linie die Übersetzung von Excel-Dateien. Wenn Sie Python und ChatGPT nutzen möchten, um Word-Dokumente zu übersetzen, können Sie sich auf Automating Word Document Translation with Python and ChatGPT beziehen.