how to convert pdf file to excel file using python

Question:

I want to convert a pdf file into excel and save it in local via python.
I have converted the pdf to excel format but how should I save it local?

my code:

df = ("./Downloads/folder/myfile.pdf")
tabula.convert_into(df, "test.csv", output_format="csv", stream=True)
Asked By: Yuvraj Singh

||

Answers:

You can specify your whole output path instead of only output.csv

df = ("./Downloads/folder/myfile.pdf")
output = "./Downloads/folder/test.csv"
tabula.convert_into(df, output, output_format="csv", stream=True)

Hope this answers your question!!!

Answered By: skaul05

Documentation says that:

Output file will be saved into output_path

output_path is your second parameter, “test.csv”. I guess it works fine, but you are loking it in the wrong folder. It will be located near to your script (to be strict – in current working directory) since you didn’t specify full path.

Answered By: QtRoS

In my case, the script below worked:

import tabula

df = tabula.read_pdf(r'C:UsersuserDownloadsfolder3.pdf', pages='all')
tabula.convert_into(r'C:UsersuserDownloadsfolder3.pdf', r'C:UsersuserDownloadsfoldertest.csv' , output_format="csv",pages='all', stream=True)
Answered By: Darshil Lakhani

PDF to .xlsx file:

for item in df:
   list1.append(item)
df = pd.DataFrame(list1)
df.to_excel('outputfile.xlsx', sheet_name='Sheet1', index=True)
Answered By: Hith

you can also use camelot in combination with pandas

import camelot
import pandas
tables = camelot.read_pdf(path_to_pdf, flavor='stream',pages='all')
df = pandas.concat([table.df for table in tables])
df.to_csv(path_to_csv)
Answered By: smoquet

i use google collab

install the packege needed

!pip install tabula-py
!pip install pandas

Import the required Module

import tabula
import pandas as pd

Read a PDF File

data = tabula.read_pdf("example.pdf", pages='1')[0] # "all" untuk semua data, pages diisi nomor halaman

convert PDF into CSV

tabula.convert_into("example.pdf", "example.csv", output_format="csv", pages='1') #"all" untuk semua data, pages diisi no halaman
print(data)

#to convert to excell file
data1 = pd.read_csv("example.csv")
data1.dtypes

#now save to xlsx
data.to_excel(‘dataremove.xlsx’)

Answered By: Khoirul Anam