【发布时间】:2021-10-20 11:41:00
【问题描述】:
我想将 PDF 文件转换为 CSV 或 XLS。 我尝试通过使用 python tabula 来做到这一点:
#!/bin/bash
#!/usr/bin/env python3
import tabula
# Read pdf into list of DataFrame
df = tabula.read_pdf("File1.pdf", pages='all')
# convert PDF into CSV file
tabula.convert_into("File1.pdf", "File1.csv", output_format="csv", pages='all')
# convert all PDFs in a directory
#tabula.convert_into_by_batch("input_directory", output_format='csv', pages='all')
虽然python脚本将PDF转换为CSV,但十进制不正确。
例如 1.25 仅显示为 1.2。
所以我想将小数位增加到两位,以便在转换后的 CSV 文件中得到正确的数字。
有人可以帮我吗?
谢谢。
【问题讨论】:
-
需要探索区域和列参数。像这样
df = tabula.read_pdf(pdf_file, pages='all',area=(0, 8, 800, 840),columns=[91,269,380,470,520,580,657]。同样,它取决于pdf。如果你可以分享 PDF,那么我们可以看看。 -
我的 PDF 文件中有 12 列。文件的前四行是标题。
-
现在我可以得到小数点到 2 但 csv 文件的格式很奇怪。
-
现在我可以将小数点设为 2,但 csv 文件的格式很奇怪。 PDF 文件有 2 页。第一页有第 3 行包含标题,第 4 行是 12 列的相应标题。第二页没有任何列标题。转换后的 CSV 显示 column1、column2 3 4 5 6 7 8 9、column10、column11、column12。而第二页像 column1, column2 一样正确显示。 . .第 12 列。在第一页中,第 2 到第 9 列显示为单列。请建议我该如何纠正这个问题?
-
请分享 PDF 并更新您目前拥有的代码。
标签: python pdf python-3.7 pdftotext tabula