目次
1. 要件の説明" >1. 要件の説明
2. 論理的な並べ替え" >2. 論理的な並べ替え
三、代码实现" >三、代码实现
ホームページ バックエンド開発 Python チュートリアル Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

Aug 09, 2023 pm 05:37 PM
python 翻訳する


この記事では、実践的な Python オフィス オートメーション スクリプトを紹介します

「Python を使用して英語の Word 文書をバッチ翻訳し、形式を保持します」、最終的な効果は一部の有料ソフトウェアよりもさらに優れています。まずは具体的な仕事内容を見ていきましょう。

1. 要件の説明

手元に大量の外国語のドキュメントがあります (このケースでは

5 を例として取り上げます)。 test1 .docx test2.docx などの名前が付いています)。そのうちの 1 つは次のとおりです: Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

基本要件 : 「これらのドキュメントを一括処理します。すべての内容が中国語に翻訳され、新しいファイルに転送されます。」、結果は次のようになります: Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

高度な要件:基本的なニーズが満たされている、要件『元の文書の形式を維持する』、結果は次のとおりです:Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

2. 論理的な並べ替え

1 . 翻訳 API

この要件の核心は

Translation です。戦略は、次の翻訳 API を使用することです。 ここではBaidu Translation Open Platformを推奨します 同時実行数を考慮しない場合に使用できます 標準バージョン、文字数制限なしで無料で使用できます !

Baidu 翻訳オープン プラットフォーム: http://api.fanyi.baidu.com/api/trans/product/index

#Baidu のユニバーサル翻訳 API を使用する前に、次のタスクを完了する必要があります。

  1. Baidu アカウントを使用してログインします。 Baidu 翻訳オープン プラットフォーム (
    http://api.fanyi.baidu.com);
  2. 開発者として登録し、APPID を取得します;
  3. # 開発者認定を実施します (標準バージョンのみが必要な場合はスキップできます)。
  4. #ユニバーサル翻訳 API サービスを開きます: アクティベーション リンク
  5. 技術ドキュメントを参照してください。デモでコードを作成します。
##完了後、画面上に ID とキーが表示されます。個人ページ. これはとても重要です!
コンパイルされたユニバーサル翻訳 API のデモを以下に示します。出力は単純に変更されており、コードは使用できます。 Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

テスト コンテンツが正確に翻訳されていることがわかります。API に複数回アクセスする必要がある場合、無料版には同時実行性と時間制限があることに注意してください。 Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?time Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い? モジュールは 1 秒間スリープします

2. 形式の変更

高度な要件の難しさは、 format. 簡単に言うとoriginal 文書のページ形式と段落形式とは何か、また翻訳後の対応部分は何か。

上記の論理関係に基づいて、元の文書の対応するコンテンツを取得し、それを新しく翻訳された文書に割り当てるだけで済みます。 (当面はページ設定と段落設定の統一のみ対応可能です。段落内の特定の単語の書式変更については精度を確保するために自然言語処理NLPが必要ですが、本記事では扱いません)

2.1 ページ スタイル

ページ スタイルには、元の文書からわかるように、余白、方向、高さ、幅などを含める必要があるだけです。 , 以下は狭幅です。ただし、4 方向の狭いマージンの設定方法を知る必要はなく、次のようにコード内で新旧ドキュメントの変数転送を示すだけで済みます。 Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?2.2 段落スタイル

段落スタイルには、配置、インデント、スペースなどが含まれます。元の文書では、段落後のインデントが採用され、タイトルは中央に配置されます。これらの設定は変数の受け渡しでうまく行うことができます。元の文書に設定されていない変数値が None

Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?の場合2.3 テキストブロックのスタイル変更

フォント サイズ、太字、斜体、色などのスタイルを調整するために採用される戦略は、空のリストを作成し、元の文書の各段落の各テキスト ブロックを走査し、対応する属性を取得してそれらをその属性に配置するという です。それぞれのリスト 、および同じ段落の場合 たとえば、最も多くのテキスト ブロック属性を含むオプションが、翻訳された文書の対応する段落に割り当てられます (段落内のすべてまたは大部分のテキストが太字の場合、すべてのテキストが太字になります)翻訳後の対応する段落内のブロックは太字に設定されます) NLP に興味のある読者は、英語文書内の特定の単語のスタイル変更を高度に復元し、翻訳文書に反映する方法を自分で試すことができます。

上記のコードにはフォント設定が含まれていません。英語のフォントを中国語のドキュメントに渡す必要がないからです。中国語フォントの設定については、以前の記事で説明しました。比較的複雑です。コードを直接参照してください:

from docx.oxml.ns import qn

run.font.name = '微软雅黑'
r = run._element.rPr.rFonts
r.set(qn('w:eastAsia'), '微软雅黑')
ログイン後にコピー
Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

##3. 全体的な実装手順

これで操作の各部分が完了しました。この例では翻訳する必要があるドキュメントが複数あることを考慮すると、全体のロジックは次のようになります:
  1. 利用 glob 模块批处理框架可获取某个文件的绝对路径
  2. python-docx 完成 Word 文件实例化后对段落进行解析
  3. 解析出的段落文本交给百度通用翻译 API,解析返回的 Json 格式结果(上面的修改 demo 中已经完成了这一步)并重新写入新的文件
  4. 同个文件全部解析、翻译并写入新文件后保存文件

三、代码实现

导入需要的模块,除翻译 demo 中需要的库外还需要 glob 库批量获取文件、python-docx 读取文件、time 模块控制访问并发。为什么要 os 模块见下文:

import requests
import random
import json
from hashlib import md5
import time
from docx import Document
import glob
import os
ログイン後にコピー

对原 demo 的部分内容进行保留,涉及到 query 参数的代码需要移动到后面的循环中。保留的部分:Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

效果如下Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

获取到段落文本后,可以将段落文本赋值给 query 参数,调用 API demo 的后续代码。输出结果的同时用 add_paragraph 将结果写入新文档:Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

最后保存成新文件,期望命名为 原文件名_translated 的形式,可用 os.path.basename 方法获取并经字符串拼接达到目的:

wordfile_new.save(path + r'\\' + os.path.basename(file)[:-5] + '_translated.docx')
ログイン後にコピー
Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

单个文件操作完成后将读取和创建文件的代码块放到批处理框架内:Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

完成了上面的内容后,基本需求就完成了。根据我们梳理的对样式的修改知识,再把样式调整的代码加进来就行了,最终完整代码如下:Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

代码运行完毕后得到五个新的翻译后文件Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

翻译效果如下,可以看到英文被翻译成中文,并且样式大部分保留!Pythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?

至此,所有文档都被成功翻译,当然这是机器翻译的,具体应用时还需要对关键部分进一步人工调整,不过整体来说还是一次成功的Python办公自动化尝试!

以上がPythonで書かれた文書一括翻訳ツール、効果は有料ソフトより高い?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Visual StudioコードはPythonで使用できますか Visual StudioコードはPythonで使用できますか Apr 15, 2025 pm 08:18 PM

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

ターミナルVSCODEでプログラムを実行する方法 ターミナルVSCODEでプログラムを実行する方法 Apr 15, 2025 pm 06:42 PM

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSCODE拡張機能は悪意がありますか? VSCODE拡張機能は悪意がありますか? Apr 15, 2025 pm 07:57 PM

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

See all articles