如何使用Python将PDF文件保存到SQLite数据库

qzwqbdag  于 2023-11-21  发布在  SQLite
关注(0)|答案(2)|浏览(185)

有没有人给予我一个例子,说明函数会是什么样子的阅读pdf文件,并将其转换为二进制,以便我可以存储在数据库中。

2jcobegt

2jcobegt1#

只需从任何地方读取字节并将其放入BLOB列。
这也是SQLite的“建议”用例之一:https://www.sqlite.org/appfileformat.html

import pathlib
import sqlite3

db = sqlite3.connect(":memory:")  # could be a real path too
db.execute(
    "CREATE TABLE IF NOT EXISTS pdfs (id INTEGER PRIMARY KEY, name TEXT, data BLOB)"
)

pdf_path = pathlib.Path("./dice_simulator.pdf")
pdf_data = pdf_path.read_bytes()

db.execute("INSERT INTO pdfs (name, data) VALUES (?, ?)", (pdf_path.name, pdf_data))
db.commit()

for name, data, data_length in db.execute("SELECT name, data, LENGTH(data) FROM pdfs"):
    print(f"{name} is {data_length} bytes long")
    assert data == pdf_data

字符串

pbpqsu0x

pbpqsu0x2#

我建议不要在数据库中保存文件。相反,保存文件的地方(例如创建文件夹pdf或类似的东西)和保存路径文件作为字符串在数据库中。大文件的数据库操作成本非常昂贵。

相关问题