Dataset & CSV Cleaner → Excel — Filter, Dedupe, Japanese CSV
Pricing
from $0.04 / 1,000 output rows
Dataset & CSV Cleaner → Excel — Filter, Dedupe, Japanese CSV
Clean any Apify dataset, CSV, JSON or Excel file: flatten nested fields, filter, dedupe, sort, rename, normalize full-width text. Get an Excel file and a CSV that opens in Excel without garbled Japanese. $0.05 per 1,000 rows.
Pricing
from $0.04 / 1,000 output rows
Rating
0.0
(0)
Developer
Masahi Shop
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Turn messy data into a clean Excel file in one run. Works on any Apify dataset (e.g. a scraper's results), CSV / TSV / JSON / JSON Lines / Excel files, or JSON you paste in. $0.05 per 1,000 output rows.
- Flatten nested JSON into tidy columns (
address.city), lists into one cell or one column per item - Filter with 15 operators — numbers like
1,200and dates like2026/10/07or2026年10月7日are compared correctly - Remove duplicates by one or more fields (or the whole row)
- Sort naturally:
2 < 10 < 1,000,item2 < item10, Japanese text in Japanese order, empty values last - Choose, order and rename columns (Japanese column names are fine)
- Clean text: trim spaces (incl. full-width
), collapse spaces, normalize full-width / half-width characters (ABC123→ABC123,カタカナ→カタカナ) so that Japanese data matches and dedupes correctly - Excel output (.xlsx) with a frozen header row, auto filter and fitted column widths;
"1,200"becomes a real number, while zip codes and phone numbers with leading zeros stay text - CSV that opens in Excel without garbled Japanese (UTF-8 with BOM), and Shift_JIS CSV for older Japanese systems
- Reads Shift_JIS / EUC-JP / GBK / Big5 / EUC-KR CSV files (auto-detected)
Why?
Exported CSV files often look broken when opened in Excel: Japanese, Chinese and Korean text turns into unreadable characters, nested fields appear as [object Object], and numbers like 1,200 are text. This Actor fixes all of that and adds the usual clean-up steps — filtering, deduplication, sorting and column selection — so the result can be shared directly.
Typical uses
- Make a scraper's dataset Excel-ready: flatten, keep 5 columns, rename them, dedupe, sort
- Merge a dataset with CSV/Excel files and remove duplicates
- Convert a Shift_JIS CSV from a Japanese system to UTF-8 / Excel, or the other way round
- Filter a large export to the rows you need (e.g.
price >= 1000andprefecture in 東京都, 大阪府) - Clean data before loading it into an AI / RAG pipeline (JSON Lines output)
Input
| Field | Description |
|---|---|
datasetId | An Apify dataset (read-only access to that dataset only) |
fileUrls | CSV, TSV, JSON, JSON Lines or .xlsx file URLs |
data | Rows as a JSON array |
flattenNested, arrayMode | Nested fields → columns |
trimSpaces, normalizeWidth, collapseSpaces, emptyToNull | Text clean-up |
filters, filterMode, caseSensitive | Keep matching rows |
dedupeBy, sortBy, offset, limit | Dedupe, sort, slice |
fields, renameFields | Columns to keep (in order) and new names |
outputFormats | xlsx, csv-excel, csv-sjis, csv, tsv, json, jsonl |
Filter example (rows from Tokyo or Osaka with a price of at least 1,000):
{"filters": [{ "field": "address.pref", "operator": "in", "value": "東京都, 大阪府" },{ "field": "price", "operator": "gte", "value": "1000" }],"filterMode": "all"}
Operators: equals, notEquals, contains, notContains, startsWith, endsWith, in, regex, gt, gte, lt, lte, isEmpty, notEmpty.
Processing order: load → flatten → clean text → filter → dedupe → sort → offset/limit → select & rename columns.
Output
- Files in the key-value store (Output tab → "Output files"):
data.xlsx,data-excel.csv, … with download links - Cleaned rows in the dataset (optional), so Apify's own exports and integrations work too
- SUMMARY: rows in, rows after filters, duplicates removed, rows out, columns, files
Example: the prefilled rows with normalizeWidth on, dedupe by name, a date filter (updated ≥ 2026/10/01), sorting by -price and two renamed columns. ABC商店 and ABC商店 are recognised as the same shop and kept once (CSV for Excel, first lines):
name,価格,tags,都道府県,address.city,updatedテスト(株) 😀,15000,,北海道,札幌市,2026-10-01ABC商店,"1,200",食品; セール,東京都,千代田区,2026年10月7日
Pricing
| Event | Price |
|---|---|
| Output row | $0.00005 ($0.05 per 1,000 rows) |
| Run start | $0.002 |
You pay for the rows in the result, not for rows that were filtered out or removed as duplicates. All output formats are included.
Notes
- Only the dataset and files you provide are read.
- Characters that do not exist in Shift_JIS (such as emoji) are written as
?in the Shift_JIS CSV; the run log tells you how many. The Excel file and the UTF-8 CSV keep everything. - Large inputs are held in memory: about 1 GB per ~200,000 typical rows. Increase the memory for bigger datasets.