VOOZH about

URL: https://apify.com/amr-mando/csv-combiner

⇱ CSV Combiner | πŸ’Ύ Merge CSV Files with Custom Column Order Β· Apify


πŸ‘ CSV Combiner | πŸ’Ύ Merge CSV Files with Custom Column Order avatar

CSV Combiner | πŸ’Ύ Merge CSV Files with Custom Column Order

Pricing

from $0.10 / actor start

Go to Apify Store

CSV Combiner | πŸ’Ύ Merge CSV Files with Custom Column Order

Combine up to three CSV files into one. Columns are matched by header name, so data stays under the right column even when the files order their columns differently. You choose the output column order.

Pricing

from $0.10 / actor start

Rating

0.0

(0)

Developer

πŸ‘ Mando

Mando

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

18 days ago

Last modified

Share

🧩 CSV Combiner

Combine up to three CSV files into one. Columns are matched by their header name, so every value stays under the correct column even when the files list their columns in a different order. You decide the final column order.


πŸ“Œ What it does

You have two or three CSV exports that hold the same kind of data but do not line up. One file has Name, Email, Domain, another has Domain, Email, Name, a third uses lowercase email. Pasting them together by hand mixes the data under the wrong headers.

This actor:

  1. Reads each file by its header names, not by column position.
  2. Matches columns across files (matching is not case-sensitive, so Email, EMAIL, and email are the same column).
  3. Stacks every row into one combined CSV, each value placed under its correct header.
  4. Writes the output in the column order you choose.

No row is removed. Every row from every file ends up in the output.


πŸ“₯ Input

Input CSV Files

FieldRequiredNotes
πŸ“„ CSV 1YesThe first file.
πŸ“„ CSV 2NoOptional second file.
πŸ“„ CSV 3NoOptional third file.

You can run with 1, 2, or 3 files. Files do not need the same columns or the same column order.

🧩 Output Column Order

A single dropdown controls the column order of the combined output:

  • πŸ“„ Use CSV 1 / 2 / 3 column order - the output follows that file's header order. Any column that exists only in the other files is added at the end, with an extra_ prefix on its name (for example extra_Phone). Nothing is dropped.
  • ✍️ Custom order - you type the exact column order you want in the text box below the dropdown.

✍️ Custom Column Order

Used only when Custom order is selected. Write the column header names you want, one per line (press Enter between each, no commas):

Name
Email
Company
Domain

Rules for custom order:

  • Order is exactly what you type, top to bottom.
  • Matching is not case-sensitive. Typing email matches a Email column.
  • The output keeps the original header casing from the file, not what you typed.
  • Any combined column you do not list is dropped from the output.
  • Any name you type that matches no column is skipped and reported in the log.

πŸ”— How columns are matched

Matching is by header name, lowercased and trimmed:

CSV 1 headerCSV 2 headerTreated as
Emailemailone column
Domain domainone column
Job Titlejob titleone column

When a file is missing a column that another file has, that cell is left blank for the rows from the file that lacks it.


πŸ“Š Log

The log opens with a short summary so you can see what happened before you download anything.

CSV 1 / 2 / 3 order:

πŸ“₯ Loaded CSVfiles:
CSV1:500 rows,12 columns
CSV2:320 rows,10 columns
CSV3:150 rows,14 columns
🧩 Combined rows:970
πŸ“Š Column analysis(across all files):
Total unique columns:20
Columns withdata:15
Empty columns:5
Empty: Fax, Middle Name, Region, Notes, Suffix
πŸ“‹ Output column order:CSV1
12 columns fromCSV1,in its order
+8 extra column(s) from the other files, appended with the "extra_"prefix:
extra_Phone, extra_LinkedIn, extra_Title,...

Custom order:

πŸ“Š Column analysis(across all files):
Total unique columns:20
Columns withdata:15
Empty columns:5
πŸ“‹ Output column order:Custom(14 columns)
Order: Domain, Name, Email, Company,...
⚠️ 1name(s)in your list matched no column and were skipped: emial
❌ 6column(s)dropped(not in your order): Fax, Region, Notes, Phone, Suffix, Middle Name
Of those,1 held data: Phone
  • Total unique columns: how many distinct columns exist once all files are combined.
  • Columns with data: how many of those hold at least one non-empty value. The rest are blank in every row.
  • Dropped (custom order only): columns not in your list. The log also tells you how many of the dropped columns actually held data, so you know if you lost anything that mattered.

πŸ“€ Output

  • Dataset: the combined rows, viewable as a table in the Apify console and available through the API.
  • Key-value store, key OUTPUT: the combined CSV file, in the exact column order you chose, with original header casing. Download this for the clean file.

The output download link is shown on the run's Output tab.


πŸ“‹ Example

CSV 1 (Name, Email, Company, Domain)

NameEmailCompanyDomain
Alicealice@acme.comAcmeacme.com

CSV 2 (Domain, Company, Email, Name, Phone) - different order, extra Phone

DomainCompanyEmailNamePhone
globex.comGlobexcarol@globex.comCarol555-0100

CSV 3 (email, name, title) - lowercase headers, extra title, no company or domain

emailnametitle
eve@umbrella.comEveCTO

Output column order: CSV 1

NameEmailCompanyDomainextra_Phoneextra_title
Alicealice@acme.comAcmeacme.com
Carolcarol@globex.comGlobexglobex.com555-0100
Eveeve@umbrella.comCTO

Carol's data came in as Domain, Company, Email, Name, Phone but still lands under the right headers. Eve's lowercase email matched Email, and her title was appended as extra_title.


⚠️ Notes

  • Matching is case-insensitive and ignores leading and trailing spaces in headers.
  • If two columns inside the same file share a header name, only one is kept for that file.
  • No rows are removed. Duplicate rows across files are all kept.
  • Empty CSVs, or files with no header row, are skipped with a warning. The run continues with the remaining files.

You might also like

Super CSV Crawler

proloser/super-csv-crawler

Upload or remote CSV file parser, with ability to specify custom column names

Dataset Classifier

lukas.priban/dataset-classifier

Automatically classify rows in any Apify dataset into categories you define. Point it at a dataset, pick a text column, provide your categories, and get back the original data with a new classification column added.

Parsera

parsera-labs/parsera

Extract data from any website using just a URL and column descriptions

618

2.0

Zhihu Scraper β€” Q&A, Answers, Articles, Columns

sian.agency/zhihu-scraper

Zhihu scraper β€” extract long-form Mandarin Q&A, expert answers, articles & column posts. Keyword search, question answer threads, article detail, column article list. China market research, LLM training data, competitive intel. Four operations, one clean dataset per run. No API key.

28

Book Series In Order - Reading Order Scraper

jungle_synthesizer/bookseriesinorder-reading-order-scraper

Scrape book series reading order data from bookseriesinorder.com. Returns publication order, chronological order, series positions, and book metadata for thousands of authors and series.

πŸ‘ User avatar

BowTiedRaccoon

2

Excel to CSV Converter

web.harvester/excel-to-csv

Convert Excel files (XLSX, XLS, ODS) to CSV format. Extract all sheets or specific ones. Configurable delimiter, date formatting, skip empty rows. Batch processing multiple files. Optional JSON output to Dataset. Handles large files efficiently. Perfect for ETL pipelines.

4

Macrostrat Geology Units Scraper

parseforge/macrostrat-geology-units-scraper

Pull the full geologic column for any latitude and longitude from Macrostrat. Returns unit and formation names, top and bottom ages in millions of years, lithology, depositional environment, mapped thickness, and column id. Search by point or stratigraphic name for research and mapping.

Zip Extractor

fallenstars/zip-extractor

A lightweight, high-performance Actor to download and extract ZIP files directly into the Apify Key-Value Store. Perfect for No-Code workflows (Zapier/Make) or data pipelines. Input - ZIP URL Output - All extracted files are stored in the Key-Value Store associated with the Actor run.

πŸ‘ User avatar

Abhishek Pratap Singh

3

Apk Scraper

thenetaji/apk-downloader

πŸ“± Find and extract direct download links for APK files from websites. Also discovers other downloadable content like videos, images, and audio files. Perfect for gathering Android apps and media files from various sources.

97

5.0

Zip Download Extraction Scraper

fresh_cliff/zip-download-extraction-scraper

Download and extract zip files automatically. Extract archives, process documents, analyze logs, backup files. Batch extract text, JSON, CSV content. Real-time data extraction API.

πŸ‘ User avatar

Brennan Crawford

2

Related articles

Data cleaning in Python (Beginner’s guide)
Read more
How to collect data for machine learning
Read more
How to automate sentiment analysis (plus the best sentiment analysis tools)
Read more