текстовое содержимое преобразования PDF в CSV-файл - Как? - PullRequest
1 голос
/ 23 сентября 2019

Я хочу взять файл PDF в качестве ввода.И в качестве выходного файла я хочу, чтобы CSV-файл, чтобы показать.Таким образом, все текстовые данные, которые есть в файле PDF, должны быть преобразованы в файл CSV.Но я не понимаю, как это могло бы произойти ... Мне нужна ваша помощь как можно раньше, но я не смог этого сделать.

Что я сделал, так это использовал библиотеку Tabula-py, котораяпреобразует PDF в CSV-файлОн создает формат CSV, но нет содержимого, копируемого в файл CSV из PDF-файла.

здесь код

from tabula import convert_into,read_pdf
import tabula
df = tabula.read_pdf("crimestory.pdf", spreadsheet=True, 
                     pages='all',output_format="csv")
df.to_csv('crimestoryy.csv', index=False)

вывод должен быть в виде файла CSV, гдеданные присутствуют.я получаю пустой CSV-файл.

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

У меня есть найти ответ на этот вопрос самостоятельно. Для решения этой проблемы я придумал преобразовать файл PDF в текстовый файл.Затем я преобразовал этот текстовый файл в файл csv. Вот мой код.

translation.py

import os.path
import csv
import pdftotext
#Load your PDF
with open("crimestory.pdf", "rb") as f:
   pdf = pdftotext.PDF(f)

# Save all text to a txt file.
with open('crimestory.txt', 'w') as f:
    f.write("\n\n".join(pdf))

save_path = "/home/mayureshk/PycharmProjects/NLP/"

completeName_in = os.path.join(save_path, 'crimestory' + '.txt')
completeName_out = os.path.join(save_path, 'crimestoryycsv' + '.csv')

file1 = open(completeName_in)
In_text = csv.reader(file1, delimiter=',')

file2 = open(completeName_out, 'w')
out_csv = csv.writer(file2)

file3 = out_csv.writerows(In_text)

file1.close()
file2.close()
0 голосов
/ 23 сентября 2019

Попробуйте, надеюсь, это будет работать

import tabula

# convert PDF into CSV
tabula.convert_into("crimestory.pdf", "crimestory.csv", output_format="csv", pages='all')

или

df = tabula.read_pdf("crimestory.pdf", encoding='utf-8', spreadsheet=True, pages='all')
df.to_csv('crimestory.csv', encoding='utf-8')

или

from tabula import read_pdf
df = read_pdf("crimestory.pdf")
df
#make sure df displays your pdf contents in the output

from tabula import convert_into
convert_into("crimestory.pdf", "crimestory.csv", output_format="csv")
!cat.crimestory.csv
...