我正在寻找将 PDF 文件中的文本保存到我的数据库中的最有效方法。目前我正在使用带有标准代码的pdfplumber,如下所示:
my_string = ''
with pdfplumber.open(text_file_path) as pdf:
for page in pdf.pages:
if page.extract_text():
my_string += str(page.extract_text().replace('\n', ' ').split(' '))
但是当前的代码是文学性的扼杀我的机器(对于 600 页的 PDF,它需要大约 3 到 6 GB 的 RAM),我的目标是实际将它托管在手机上。
我做了一些测试,似乎阅读 PDF 不是问题,但是保存或存储这些单词是有问题的。我试图创建 dict ,其中每个页面字符串都是一个键/值,但并没有好多少。
也许我应该尝试将每个页面生成 txt 文件,然后从这个 txt 文件中读取字符串?
我将不胜感激任何提示,谢谢!
编辑:
with pdfplumber.open(text_file_path) as pdf:
for page in pdf.pages:
connection = sqlite3.connect('my_db.db')
cursor = connection.cursor()
cursor.execute("INSERT INTO temp_text VALUES (?, ?)",
(text_file_path, str(page.extract_text()).replace('\n', ' ')))
connection.commit()
connection.close()
我将代码更改为那个,它稍微好一点,(现在它需要大约 2.9 GB 的 RAM)但它仍然很多。我能做更多的事情吗?