One CSV per report table with a header row, source page references and a list of uncertain cells.
Choose one of three approaches. The steps for that option appear below.
Choose an option above. On a phone, swipe the tabs left or right to see all options →
Gemini: extracts tables to sheets, exports CSVs, you check
Gemini extracts the tables and exports CSVs. You check each file against its PDF table.
You
Gather PDFs
Gemini
Extract, clean, export
You
Check and decide
Gather the PDF reports
Use:You
Have ready: the PDF reports with tables.
Check
Check each PDF opens and shows its tables.
Extract, clean and export the tables
Use:Gemini
Upload the PDFs to Gemini. Ask it to extract each table with page references, clean headers without changing values, flag uncertain cells and export CSVs.
Details
What to paste into the tool
Task: Raw CSVs and page refs. Extract every table from these PDF reports and write one CSV per table, named by report and table. Keep the source page number with each table. On each extracted table, propose header fixes and un-merge merged cells so every row has the same columns. Write the cleaned version of each table as a separate CSV. Do not change any value. Task: Clean CSVs and uncertain list. On each extracted table, propose header fixes and un-merge merged cells so every row has the same columns. List every cell whose value you are unsure of as table, cell, and reason. Do not silently correct a value: flag it instead (source warning: 'Never silently correct values.'). Export each cleaned sheet as CSV.
Check each CSV against its PDF, then decide
Use:You
Open each clean CSV next to its PDF table, check counts, values and every flagged cell, and hold any CSV that fails.
Check
Compare row and column counts against the PDFs, check every flagged cell, and spot-check values against the source pages. Check 10% of cells against source. Approve a CSV only when it matches its PDF table; otherwise hold it and list the fixes.
Claude: lists tables, then extracts CSVs with code
Claude lists the tables, then runs extraction code to make CSVs. You check the list, counts and cells.
You
Gather PDFs
Claude
List the tables
You
Check table list
Claude
Extract and clean
You
Check and decide
Gather the PDF reports
Use:You
Have ready: the PDF reports with tables (for example ten quarterly reports with 3 tables each).
Check
Check each PDF opens and shows its tables.
List every table with page and counts
Use:Claude
Upload the PDFs to Claude and have its code execution list every table, with the page number and the row and column counts.
Details
What to paste into the tool
Task: Table list with page numbers and row and column counts. Using code execution, read these PDF reports and list every table: report name, table name or number, source page, row count and column count. Show the code you use. Do not extract values yet.
Check and fix the table list
Use:You
Check the table list against the PDFs and fix any missing table, wrong page or wrong count before extraction.
Check
Check the list covers every table in every report, comparing each entry against the pages.
Extract and clean the tables
Use:Claude
Upload the PDFs and your checked list. Claude's code execution extracts raw CSVs, cleans headers and merged cells separately, lists uncertain cells, in one pass.
Details
What to paste into the tool
Task: Raw CSVs and page refs; Clean CSVs and uncertain list. Using code execution, extract exactly the tables on my checked list from these PDF reports and write one CSV per table named by report and table, with the source page recorded per table. Then clean the headers and un-merge merged cells so every row has the same columns, keeping values unchanged. Write the cleaned version of each CSV as a separate file. List every uncertain cell as file, cell, and reason. Do not silently correct a value (source warning: 'Never silently correct values.'). Show me the extraction code and the row and column counts per table next to my expected counts.
Check the CSVs, then approve or hold
Use:You
Compare counts with your checked table list, check 10% of cells against the PDFs and every flagged cell, then approve or hold the CSVs.
Check
Check 10% of cells against source, check every flagged cell, and compare row and column counts with your checked table list. Approve only the checked, corrected CSVs.
ChatGPT: extracts and cleans tables in one pass
ChatGPT extracts and cleans the tables in one pass. You check counts and cells and approve.
You
Gather PDFs
ChatGPT
Extract and clean
You
Check and decide
Gather the PDF reports
Use:You
Have ready: the PDF reports with tables (for example ten quarterly reports with 3 tables each).
Check
Check each PDF opens and shows its tables.
Extract and clean the tables in one pass
Use:ChatGPT
Upload the PDFs to ChatGPT. Ask for a CSV per table with source page, cleaned headers, un-merged cells, values unchanged, and uncertain cells listed.
Details
What to paste into the tool
Task: Raw CSVs and page refs; Clean CSVs and uncertain list. Extract every table from these PDF reports and write one CSV per table named by report and table, with the source page recorded per table. Then clean the headers and un-merge merged cells so every row has the same columns, keeping values unchanged. List every uncertain cell as file, cell, and reason. Do not silently correct a value: flag it instead (source warning: 'Never silently correct values.'). Give the row and column counts per table.
Check counts and cells, then approve or hold
Use:You
Compare counts against the PDFs, check 10% of cells against the pages and every flagged cell, then approve or hold the CSVs.
Check
Check 10% of cells against source, check every flagged cell, and compare row and column counts against the PDFs. Never silently correct values.
Compare the three approaches
Option A: Gemini: extracts tables to sheets, exports CSVs, you check
Best when: You want the strongest documented match for extraction
What it does: Gemini extracts and exports; you check against the PDFs
Strong at: The site describes PDF extraction (as of October 2026)
Limit: The free plan has usage limits
Free plan: Yes
Option B: Claude: lists tables, then extracts CSVs with code
Best when: You want to keep the exact extraction code to reuse
What it does: Claude lists and extracts; you check list, counts and cells
Strong at: Drafts and edits text in many formats
Limit: The vendor's page does not mention extracting tables from PDFs (as of October 2026)
Free plan: Yes
Option C: ChatGPT: extracts and cleans tables in one pass
Best when: Small or awkward table sets and one tool pass
What it does: ChatGPT extracts and cleans; you check counts and cells
Strong at: Writes, rewrites and summarises text
Limit: The vendor's page does not mention reading tables from PDFs
Free plan: Yes
Before you paste into any AI tool, remove any confidential information. Put it back at the end.
Row and column counts are compared against the PDFs and uncertain cells are listed.
Source page is kept per table in every path.
No value is silently corrected: anything uncertain is flagged, and you spot-check a sample.
One CSV per table with a header row in every path.
Check the result against your original inputs. Approve it before sharing or acting.
What still needs checking
Table-structure fidelity, merged-cell handling and uncertainty listing are not named on any cited page; the analyst's count and cell checks are the control everywhere.