Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Die psycopg2 bibliothek ist ein beliebter PostgreSQL-Datenbankadapter für die Programmiersprache Python. Es ist bekannt für seine Effizienz, Thread-Sicherheit und die vollständige Implementierung der Python DB API 2.0-Spezifikation. Schauen wir uns die Funktionen an und sehen wir uns einige Codebeispiele an. Später in diesem Artikel werden wir uns mit folgenden Themen befassen IronPDFeine Bibliothek zur PDF-Erzeugung von IronSoftware.
Psycopg2 ist so konzipiert, dass es effizient und sicher ist und sich daher für Anwendungen mit vielen Threads eignet. Einige der wichtigsten Merkmale sind:
Sie können Folgendes installieren psycopg2 mit pip:
pip install psycopg2
Alternativ dazu können Sie setup.py aus dem Quellpaket lokal verwenden. Sie können das Quellpaket aus dem Quellcode-Repository beziehen hier:
python setup.py build
sudo python setup.py install
Für ein eigenständiges Paket, das weder einen Compiler noch externe Bibliotheken benötigt, können Sie das Paket psycopg2-binary verwenden:
pip install psycopg2-binary
Hier ist ein einfaches Beispiel, um Ihnen den Einstieg in psycopg2 zu erleichtern.
Zunächst müssen Sie eine Verbindung zu Ihrer PostgreSQL-Datenbank herstellen:
import psycopg2
# Connect to your PostgreSQL database
conn = psycopg2.connect(
dbname="your_dbname",
user="your_username",
password="your_password",
host="your_host",
port="your_port"
)
# Create a cursor object
cur = conn.cursor()
Sie können SQL-Abfragen mit dem Cursor-Objekt ausführen:
# Execute a query
cur.execute("SELECT * FROM your_table")
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
print(row)
So fügen Sie Daten in eine Tabelle ein:
# Insert data into a table
cur.execute(
"INSERT INTO your_table (column1, column2) VALUES (%s, %s)",
("value1", "value2")
)
# Commit the transaction
conn.commit()
Vergessen Sie nicht, den Cursor und die Verbindung zu schließen, wenn Sie fertig sind:
# Close the cursor and connection
cur.close()
conn.close()
Der COPY-Befehl ist hilfreich, um Daten in großen Mengen zu laden:
# Use COPY to load data from a file
with open('data.csv', 'r') as f:
cur.copy_from(f, 'your_table', sep=',')
conn.commit()
Sie können auf asynchrone Benachrichtigungen aus der Datenbank hören:
# Listen for notifications
cur.execute("LISTEN your_channel")
# Wait for a notification
conn.poll()
while conn.notifies:
notify = conn.notifies.pop(0)
print("Got NOTIFY:", notify.payload)
IronPDF ist eine leistungsstarke Python-Bibliothek zum Erstellen, Bearbeiten und Signieren von PDFs mit HTML, CSS, Bildern und JavaScript. Sie bietet kommerzielle Leistung bei geringem Speicherbedarf. Die wichtigsten Merkmale sind:
HTML zu PDF Konvertierung:
Konvertieren Sie HTML-Dateien, HTML-Strings und URLs in PDFs. Sie können zum Beispiel eine Webseite mit dem Chrome PDF-Renderer als PDF wiedergeben.
Plattformübergreifende Unterstützung:
Kompatibel mit verschiedenen .NET-Plattformen, einschließlich .NET Core, .NET Standard und .NET-Framework. Es unterstützt Windows, Linux und macOS.
Redaktion und Unterzeichnung:
Legen Sie Eigenschaften fest, fügen Sie Sicherheit mit Passwörtern und Berechtigungen hinzu, und wenden Sie digitale Signaturen auf Ihre PDFs an.
Seitenvorlagen und Einstellungen:
PDFs mit Kopf- und Fußzeilen, Seitenzahlen und einstellbaren Rändern anpassen. Unterstützt responsive Layouts und benutzerdefinierte Papierformate.
Einhaltung der Normen:
Einhaltung von PDF-Standards wie PDF/A und PDF/UA. Es unterstützt die UTF-8-Zeichenkodierung und verarbeitet Assets wie Bilder, CSS und Schriftarten.
import psycopg2
from ironpdf import *
# Apply your license key
License.LicenseKey = "Key"
# Connect to your local PostgreSQL database
conn = psycopg2.connect(
dbname="demo",
user="postgres",
password="postgres",
host="localhost",
port="5432"
)
# Create a cursor object
cur = conn.cursor()
cur.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
)
''')
# Commit the transaction with connection object
conn.commit()
# Define the SQL statement for inserting data into the table
insert_query = '''
INSERT INTO users (id, name, age)
VALUES (%s, %s,%s)
'''
# Data to be inserted
userData1 = (1, 'John', 25)
# Execute the SQL command to insert data
cur.execute(insert_query, userData1)
# Data to be inserted
userData2 = (2, 'Smith', 35)
# Execute the SQL command to insert data
cur.execute(insert_query, userData2)
# Data to be inserted
userData3 = (3, 'Tom', 29)
# Execute the SQL command to insert data
cur.execute(insert_query, userData3)
# Commit the transaction
conn.commit()
# Execute a query
cur.execute("SELECT * FROM users")
# Fetch all results
rows = cur.fetchall()
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with psycopg2</h1>"
content += "<p>table data</p>"
for row in rows:
print(row)
content += "<p>"+str(row)+"</p>"
# Close the cursor and connection
cur.close()
conn.close()
pdf = renderer.RenderHtmlAsPdf(content)
# Export to a file or Stream
pdf.SaveAs("Demopsycopg2.pdf")
Das Skript demonstriert die Interaktion mit einer PostgreSQL-Datenbank unter Verwendung von `psycopg2`, Datenmanipulation (erstellung, Einfügung, Abruf)und die Integration mit IronPDF zur Dokumentenerstellung.
Datenbankverbindung: Stellt eine Verbindung zu einer lokalen PostgreSQL-Datenbank mit dem Namen "demo" unter Verwendung von `psycopg2` her, wobei Anmeldeinformationen für die Benutzerauthentifizierung und Datenbank-Hostdetails angegeben werden.
Tabellenerstellung: Definiert und führt eine SQL-Anweisung aus, um eine Tabelle mit dem Namen "Benutzer" zu erstellen, falls diese noch nicht vorhanden ist. Die Tabelle hat die Spalten `id` (ganzzahl, Primärschlüssel), `Name` (text, nicht null)und `age` (ganzzahl).
Dateneinfügung: Fügt mit Hilfe von parametrisierten Abfragen drei Datenzeilen in die Tabelle "Benutzer" ein (`BenutzerDaten1`, `BenutzerDaten2`, `BenutzerDaten3`). Jedes Tupel enthält Werte für `id`, `Name` und `Alter`.
Transaktionsverwaltung: Bestätigt die Transaktion nach der Tabellenerstellung und dem Einfügen von Daten, um sicherzustellen, dass die Änderungen in der Datenbank gespeichert werden.
Datenabruf: Führt eine SELECT-Abfrage aus, um alle Zeilen abzurufen (`SELECT * FROM users`) aus der Tabelle "Benutzer" und ruft die Ergebnisse ab (`rows`).
PDF-Erzeugung: Verwendet "IronPDF", um aus HTML-Inhalten ein PDF-Dokument zu erzeugen. Der HTML-Inhalt enthält einen Titel und eine formatierte Darstellung der abgerufenen Daten aus der Tabelle "Benutzer".
Dateispeicherung: Speichert das erzeugte PDF-Dokument als "Demopsycopg2.pdf" im aktuellen Verzeichnis.
Verbindung schließen: Mit dieser Funktion wird der Datenbankcursor geschlossen (`cur`) und die Datenbankverbindung (`conn`) um Ressourcen freizugeben und eine ordnungsgemäße Säuberung zu gewährleisten.
Für die Behandlung von Ausnahmen können Sie das Skript in einen try-catch-Block einbetten, um sicherzustellen, dass alle Fehlervorgänge behandelt werden, wenn eine der Abfragen fehlschlägt oder die Verbindung fehlschlägt.
IronPDF läuft mit dem Python-Lizenzschlüssel. IronPDF for Python bietet einen kostenlosen Testlizenzschlüssel, mit dem die Benutzer die umfangreichen Funktionen vor dem Kauf testen können.
Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:
from ironpdf import *
# Apply your license key
License.LicenseKey = "key"
Psycopg2 ist eine leistungsfähige und flexible Bibliothek für die Interaktion mit PostgreSQL-Datenbanken in Python. Seine umfassenden Funktionen und sein effizientes Design machen es zu einer hervorragenden Wahl für einfache und komplexe Datenbankoperationen. IronPDF ist ein robustes Python-Paket und eine Bibliothek, die die Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten direkt aus Python-Anwendungen ermöglicht. Es bietet umfassende Funktionen für die Erzeugung von PDFs aus HTML-Inhalten und lässt sich nahtlos in bestehende Webtechnologien integrieren. Mit IronPDF können Entwickler die Erstellung von Berichten, Rechnungen und anderen Dokumenten effizient automatisieren und so die Produktivität und Benutzerfreundlichkeit verbessern. Zu seinen Funktionen gehören interaktive PDF-Formulare, Textextraktion, das Zusammenführen und Aufteilen von PDFs und das Hinzufügen von Sicherheitsfunktionen wie Passwortschutz. Die Vielseitigkeit und Benutzerfreundlichkeit von IronPDF machen es zu einem wertvollen Werkzeug für Entwickler, die PDF-Generierungs- und -Manipulationsfunktionen in ihren Python-Projekten implementieren möchten.
9 .NET API-Produkte für Ihre Bürodokumente