python - 为什么 PDFPlumber 不能与 PysimpleGUI 一起使用?
问题描述
目前,python 源文件没有遇到任何编译错误,但它没有执行将数据从 pdf 表转换为 csv 文件的后端进程。这是我的源代码:
sg.theme('Dark Blue 3') # please make your creations colorful
layout = [ [sg.Text('Select a PDF FILE')],
[sg.Input(), sg.FileBrowse(file_types=(("pdf file", "*.pdf"),))],
[sg.Text('Save a CSV filename')],
[sg.Input(), sg.FileSaveAs(file_types=(("csv file", "*.csv"),))],
[sg.OK(), sg.Cancel()]]
window = sg.Window('PDF TO CSV FILE EXTRACTION', layout)
event, values = window.read()
if event == "OK" and len(values[0])!= 0 and len(values[1]) != 0:
outfile = open(values[1], 'w')
outcsv = csv.writer(outfile)
with pdfplumber.open(values[0]) as pdf:
first_page = pdf.pages[0]
table = first_page.extract_table()
for row in table[0:]:
outcsv.writerow(row)
outfile.close
sg.popup('CONVERSION COMPLETED, Exit program')
loop = True
elif event == "Cancel":
sg.popup('OPERATION TERMINATED')
break
elif len(values[0])== 0 or len(values[1]) == 0:
sg.popup_error('INPUT IS MISSING, TERMINATING PROGRAM. CONTACT YOUR SYSTEM ADMINISTRATOR.')
loop = True
else:
sg.popup_error('UNKNOWN INPUT, TERMINATING PROGRAM. CONTACT YOUR SYSTEM ADMINISTRATOR.')
break
window.close()
解决方案
它确实执行后端进程,并做所有事情。唯一的问题是您没有关闭 csv 文件。
错误的陈述
outfile.close
正确一个
outfile.close()
推荐阅读
- sas - 如何通过 SAS 选择 SCD-Type2 中的不匹配列
- python - 在不修改 sys.path 或 3rd 方包的情况下导入 Python 包中的供应商依赖项
- jquery - 当我重新更正输入值时,如何删除错误消息?
- java - 无法在 ImageView 中显示从图库导出的图片
- scala - 如何在Scala中的大文本文件上返回行迭代器
- python - Python threading.Lock 在 for 循环中不起作用
- javascript - 我的表单不允许我的结果在点击时显示
- c# - 如何在 Azure Functions V2 中登录到 Azure 应用程序日志?
- python - 将边条件纳入 Keras 神经网络
- sql - 为什么我从正在运行 regexp_replace 的 varchar 字段中获得无效数字?