PYTHON ヘルプ

PyYAML (開発者のための仕組み)

更新済み 8月 13, 2024
共有:

イントロダクション

PyYAML はYAMLパーサーとエミッターとして動作するPythonライブラリです。 ヤムル (YAMLはマークアップ言語ではない)Pythonアプリケーションとうまく統合でき、優れたエラーサポート、有能な拡張APIなどを特徴とする、人間が読めるデータシリアライズフォーマットです。 YAMLは設定ファイルや異なるデータ構造を持つ言語間のデータ交換によく使われる。 この記事の後半では IronPDFのPDF生成Pythonパッケージです。 アイアンソフトウェア.

PyYAMLの主な機能

  1. 人間が読めるフォーマット:YAMLは読み書きが簡単にできるように設計されており、複雑な設定ファイルやデータのシリアライゼーションに最適です。

  2. YAML 1.1 の完全なサポート:PyYAMLはUnicodeのサポートとカスタムデータ型を含む、完全なYAML 1.1仕様をサポートしています。

  3. Pythonとの統合:PyYAMLは任意のPythonオブジェクトの表現を可能にするPython固有のタグを提供し、さまざまなアプリケーションに汎用性を持たせる。

  4. エラー処理:PyYAMLはデバッグ中にとても役に立つ、賢明なエラーメッセージを提供します。

インストール

YAMLパッケージをインストールするには、pipを使います:

pip install pyyaml

基本的な使用法

PyYAMLを使って任意のPythonオブジェクトにYAMLドキュメントをロードしたりダンプしたりする簡単な例を示します。

import yaml
# Sample YAML data
yaml_data = """
name: John Doe
age: 30
children:
  - name: Jane Doe
    age: 10
  - name: Jim Doe
    age: 8
"""
# Load YAML data
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
PYTHON

出力

PyYAML (開発者のための仕組み):図1

高度な機能

  1. カスタムデータ型:PyYAML では、標準的な YAML フォーマットの複雑なデータ型を扱うために、カスタムコンストラクタとカスタムプレゼンタを定義できます。
import yaml
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
def person_representer(dumper, data):
    return dumper.represent_mapping('!Person', {'name': data.name, 'age': data.age})
def person_constructor(loader, node):
    values = loader.construct_mapping(node)
    return Person(**values)
yaml.add_representer(Person, person_representer)
yaml.add_constructor('!Person', person_constructor)
# Object Serialization
person = Person(name='John Doe', age=30)
yaml_data = yaml.dump(person)
print(yaml_data)
# Deserialize YAML to a Person object
loaded_person = yaml.load(yaml_data, Loader=yaml.FullLoader)
print(loaded_person.name, loaded_person.age)
PYTHON

出力

PyYAML (開発者向けの仕組み):図2

  1. 大きなファイルを扱う:PyYAML はストリームベースのロードとダンプを使うことで、複数の yaml ドキュメントや大きな YAML ファイルを効率的に扱うことができます。
import yaml
# Load a large YAML file
with open('large_file.yaml', 'r') as file:
    data = yaml.safe_load(file)
# Dump data to a large YAML file
with open('output_file.yaml', 'w') as file:
    yaml.dump(data, file)
PYTHON

出力

PyYAML (開発者向けの仕組み):図3

IronPDFの紹介

PyYAML (開発者向けの仕組み):図4

IronPDF は、HTML、CSS、画像、JavaScriptを使用してPDFを作成、編集、署名するために設計された強力なPythonライブラリです。 商業利用レベルのパフォーマンスを、低メモリフットプリントで提供します。 主要な機能には次のものが含まれます:

HTMLをPDFに変換

HTMLファイル、HTML文字列、URLをPDFに変換。 例えば、Chrome PDFレンダラーを使用してウェブページをPDFとしてレンダリングします。

クロスプラットフォームサポート

.NET Core、.NET Standard、.NET Frameworkなど、さまざまな.NETプラットフォームに対応。 Windows、Linux、macOSに対応しています。

編集と署名

プロパティを設定し、パスワードとアクセス許可を使用してセキュリティを追加し、PDFに電子署名を適用します。

ページテンプレートと設定

ヘッダー、フッター、ページ番号、調整可能な余白でPDFをカスタマイズ。 IronPDFはレスポンシブレイアウトとカスタム用紙サイズをサポートします。

規格遵守

IronPDFはPDF/AやPDF/UAなどのPDF標準に準拠しています。 UTF-8文字エンコーディングをサポートし、画像、CSS、フォントなどのアセットを処理します。

IronPDFとPyYamlを使ってPDFドキュメントを生成する

import yaml
import json
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your license"
# Sample YAML data with standard yaml tags
yaml_data = """
name: IronPDF User1
age: 25
children:
  - name: IronPDF User2
    age: 23
  - name: IronPDF User3
    age: 24
"""
# Load YAML data to only basic python objects
data = yaml.safe_load(yaml_data)
print(data)
# Dump Python data to YAML
yaml_output = yaml.dump(data, default_flow_style=False)
print(yaml_output)
# Write YAML to File 
with open('output_file.yaml', 'w') as file:
    yaml.dump(yaml_output, file)
# Write YAML as JSON
with open('output_file.json', 'w') as json_file:
    json.dump(yaml_output, json_file)
# Read Json and Indent
output = json.dumps(json.load(open('output_file.json')), indent=2)
print(output)
# create Renderer
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with PYYML</h1>"
content += "<p>YAML data: "+ yaml_data +"</p>"
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("awesome.pdf")
PYTHON

コードの説明

  1. *輸入:***。

    • スクリプトは、必要なPythonライブラリとモジュール(yaml、json、ironPDF)をインポートすることから始まります。 これらのライブラリはYAMLやJSONデータフォーマットの処理、IronPDFを使ったPDF生成に使われます。
  2. **ライセンスキーの設定

    • ライセンスキーを設定するステップがある (License.LicenseKey = "あなたのライセンス") IronPDF用。 これはIronPDFライブラリを合法的かつ効果的に使用するために非常に重要です。
  3. サンプルYAMLデータ:

    • YAML 形式の文字列のサンプルを定義します。 (yaml_data。) 仮想の人物とその子供に関する情報を含む。 このデータはYAML処理のデモンストレーションの例となります。
  4. **YAMLオペレーション

    • スクリプトは、yaml.safe_loadを使用してYAMLデータをロードします。() それをPythonのデータ構造に変換する。 これにより、スクリプトはプログラム的にデータを操作し、作業することができる。
  5. YAMLへのダンプ:

    • Pythonのデータ構造をyaml.dumpを使ってYAML形式に変換する。(). Python オブジェクトを保存や送信のために YAML フォーマットにシリアライズする方法を示します。
  6. **ファイルへの書き込み

    • YAMLデータをファイルに書き込みます。 (output_file.yaml) yaml.dumpを使う(). 同様に、YAML データを JSON フォーマットに変換し、別のファイルに書き込みます。 (output_file.json) json.dumpを使用().
  7. *JSONの読み込みと書式設定:***。

    • この操作は、output_file.jsonからJSONデータを読み込み、それを解析し、json.dumpsを使用してスペース2つのインデントでフォーマットする。(). この操作では、JSONデータを読みやすくしたり、さらに処理しやすくしたりするために、JSONデータを読み込んでフォーマットする方法を説明する。
  8. IronPDFでPDFを生成する:

    • IronPDFを使用。 (クロームPdfレンダラ()) HTML 内容文字列を PDF ドキュメントにレンダリングします。 HTMLコンテンツはドキュメントコンテンツの一部として埋め込まれたオリジナルのYAMLデータを含みます。
  9. **PDF保存

    • この最後のステップでは、生成されたPDF文書を保存します。 (awesome.pdf) を使ってファイルシステムに保存する。()**. プログラムでPDF文書を作成し、保存する方法を示します。

出力

PyYAML (開発者向けの仕組み):図5

PDF

PyYAML (開発者向けの仕組み):図6

IronPDFライセンス

IronPDFはPythonのライセンスキーで動作します。 IronPDF for Pythonは 無料試用 購入前に豊富な機能をチェックできるライセンスキー付き。

IronPDFパッケージを使用する前に、ライセンスキーをスクリプトの最初に置いてください:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

結論

PyYAML は Python で YAML を扱うための強力で柔軟なライブラリです。 人間が読めるフォーマット、YAML 1.1の完全なサポート、Pythonとの統合により、設定ファイルやデータのシリアライズなどに最適です。 単純な設定や複雑なデータ構造を扱う場合でも、PyYAMLはYAMLデータを効率的に扱うために必要なツールを提供します。

IronPDFはHTMLコンテンツをPDFドキュメントに変換するPythonパッケージです。 わかりやすいAPI (ChromePdfRenderer(クロームPDFレンダラー)) CSSやJavaScriptのような最新のWeb標準のサポートを含め、HTMLから高品質のPDFを生成する開発者向けです。 このため、Pythonアプリケーションから直接PDF文書を動的に作成・保存するための効果的なツールとなります。

次へ >
sqlite utils Python (開発者のための仕組み)

準備はできましたか? バージョン: 2024.9 新発売

無料 pip インストール View Licenses >