Csv Exorcist avatar

Csv Exorcist

Under maintenance

Pricing

from $0.03 / file cleaned

Go to Apify Store
Csv Exorcist

Csv Exorcist

Under maintenance

Pricing

from $0.03 / file cleaned

Rating

0.0

(0)

Developer

Sindy Dill

Sindy Dill

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

CSV Exorcist turns a messy spreadsheet dump into a clean UTF-8 CSV and a short JSON report of what it fixed.

Upload a .csv, .tsv, .txt, or .xlsx, or paste CSV text. The Actor detects encoding and delimiter, trims cells, drops empty rows, drops exact duplicate rows, and writes two files you can download from the run storage.

It is a deterministic file cleaner, not an AI, not a scraper, and not a data-quality auditor. It will not invent columns, guess business meaning, or “fix” bad numbers.

What it does

  • Accepts a file upload, a public file URL, or pasted CSV text
  • Reads CSV / TSV / TXT (encoding + delimiter sniffed) or XLSX (first sheet, or a named sheet)
  • Normalizes blank / Unnamed headers
  • Optionally strips cell whitespace
  • Optionally drops rows that are empty in every cell
  • Optionally drops exact duplicate rows
  • Writes CLEAN.csv and REPORT.json to the run key-value store
  • Pushes the same report to the default dataset

Runs with limited permissions. It only needs the file or text you give it.

How to use it

  1. Open the Actor and go to the Input tab.
  2. Either drop a file (CSV / TSV / TXT / XLSX) or paste CSV text.
  3. If you paste, press Enter between rows. Do not type the characters \n.
  4. For Excel, set Excel sheet name only if you need a sheet other than the first.
  5. Leave the three cleanup checkboxes on unless you want the raw grid preserved.
  6. Click Start. When the run succeeds, open Storage → key-value store and download CLEAN.csv.

If both a file and pasted text are provided, the file wins.

Input fields

FieldRequiredNotes
FileNo*Use Upload new file, or a URL that downloads the file bytes. Drive/Dropbox view pages do not count.
Or paste CSV textNo*Real line breaks. Ignored if a file is set
Excel sheet nameNoXLSX only
Drop duplicate rowsNoDefault on
Drop empty rowsNoDefault on
Strip cell whitespaceNoDefault on

* Provide one of file or paste.

Output

Key-value store

  • CLEAN.csv — cleaned table, UTF-8, comma-separated, header row
  • REPORT.json — machine-readable summary

Dataset — one item, same shape as REPORT.json:

{
"ok": true,
"source": "fileUrl",
"filename": "export.csv",
"kind": "csv",
"detectedEncoding": "utf-8",
"detectedDelimiter": ",",
"sheetName": null,
"rowsIn": 481,
"rowsOut": 460,
"columnsIn": ["Name", " Amount", "Date"],
"columnsOut": ["Name", "Amount", "Date"],
"emptyRowsDropped": 4,
"duplicateRowsDropped": 17
}

Download the dataset as JSON, CSV, or Excel from the run page.

Pricing

Priced per cleaned file on the pay-per-event plan (file-cleaned). See the Pricing tab for the live rate.

There is no extra charge for empty-row / duplicate-row work inside that file. Very large files cost the same event; they just use more run time. Current cap is 40 MB per file.

Limits and non-goals

  • Max file size: 40 MB
  • One file (or one paste) per run
  • XLSX: one sheet per run
  • Does not parse .xls (legacy Excel 97–2003)
  • Does not unsmerge cells, follow formulas, or keep Excel formatting
  • Does not validate emails, tax IDs, or accounting mappings
  • Thousands separators inside a field (e.g. 1,000) stay as text unless you quoted them in the source file
  • Password-protected workbooks are not supported

FAQ

Paste produced one giant row with \n in the cells.
The textarea received the two characters \ and n instead of a line break. Paste again and press Enter between rows, or upload a file.

File upload failed with 401/403.
Use a current build of this Actor. Uploads go through Apify storage and need the run token. Public https:// URLs also work.

Why did two rows that “look the same” both survive?
Duplicates must match on every column after trim. A trailing space that you turned off in Strip cell whitespace, or a hidden character, keeps both rows.

Can I paste a Google Drive link?
A /view or “share” page is HTML, not the file. Preferred: Upload new file. If you must use Drive, the file must be shared with “anyone with the link,” and even then Google may show a confirm page the Actor cannot click through.

Can I point this at Google Sheets?
A spreadsheet /edit URL is a webpage. Export CSV/XLSX and upload, or use a Sheets export URL (.../export?format=csv) on a sheet shared with anyone who has the link.

Changelog

  • 0.1 — File or paste in; encoding/delimiter sniff; empty-row and duplicate-row cleanup; CLEAN.csv + REPORT.json; limited permissions.