仅在浏览器运行的 CSV 合并工具,可按表头对齐错位的列。
CSV merger that lines up mismatched columns by header, browser-only

原始链接: https://usefiletools.com/data/merge-csv/

**Merge-CSV** 是一款基于浏览器的工具,可将多个 CSV 文件合并为一个文件,且无需将数据上传至服务器。由于所有处理均在本地完成,您的文件将保持私密,且该工具在断网状态下也能正常使用。 **主要功能:** * **智能合并:** 默认按表头名称匹配列,确保即使文件列顺序不同或存在缺失值(显示为空白),数据依然对齐。 * **位置合并:** 可关闭表头匹配功能,纯粹按列位置合并文件——非常适合无表头的文件。 * **无数据丢失:** 使用完整的 CSV 解析器,可正确处理包含逗号或换行符等复杂字段。 * **可追溯性:** 可添加“来源文件”列,以追踪每一行数据的出处。 * **高效性:** 对文件数量或行数没有任意限制,仅受限于您设备的内存。 Merge-CSV 专为安全性和易用性而设计,为您提供了一种直接在浏览器中整合数据的快速、可靠的方法。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交登录 浏览器端 CSV 合并工具,可根据表头自动对齐错位列 (usefiletools.com) 3 分,发布者 builderbuild,1 小时前 | 隐藏 | 过往 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

Drop two or more CSV files and download them combined into one - mismatched columns line up by name, with blanks filled in rather than data shifted into the wrong column. Nothing is uploaded.

Nothing is sent anywhere. Turn off your Wi-Fi and this page still works - try it.

How it works

  1. Choose or drop two or more .csv files.
  2. Review the preview - each file’s row count and any column differences are listed above the table.
  3. Turn on “Each file has a header row” (on by default) so columns line up by name even if the files aren’t in the same order, or turn it off to merge purely by position.
  4. Download the merged CSV.
Example output

Input (2 files)

store-east.csv

store-west.csv

Two files with different columns, combined into one table. A missing column becomes a blank cell, not a misaligned row.

Frequently asked questions

What happens if my files don’t have exactly the same columns?

With “Each file has a header row” on (the default), columns are matched by their header name across every file. The merged file’s columns are the union of every file’s columns - a file missing a column gets a blank cell there instead of its other values shifting into the wrong column. Any file that adds a column not seen before, or is missing one another file has, is called out in the summary above the table.

Is the column name matching case-sensitive?

Yes - Email and email are treated as two different columns, not merged together. This is deliberate: guessing that two similarly-named columns are actually the same one risks silently combining data that only looks related. Rename a header in one file first if you want two differently-cased columns to line up.

What does turning off “Each file has a header row” do?

It merges every row purely by position instead of by column name - column 1 from every file lines up together, column 2 with column 2, and so on, with blank cells added to pad out any row shorter than the widest one. Use this for files with no header row at all; for files whose headers are in a different order, leave the header option on instead.

Is there a limit on how many files or rows I can merge?

No fixed limit - everything runs in your browser rather than on a server, so the only real ceiling is your device’s own memory. Each file is capped at a generous size (shown on the drop zone) so a single huge file can’t freeze the tab.

Do you upload my files anywhere?

No. Every file is read and merged entirely on your device. Turn off your Wi-Fi after the page loads and it still works. This page loads 11KB of JavaScript, gzipped - about what your browser's network tab will show for this page's own scripts.

What order do the merged rows end up in?

Files are merged in the order you chose or dropped them, and each file’s own row order is preserved within that. Turn on “Add a Source file column” to keep track of which row came from which file after merging.

How are quoted fields with commas or line breaks inside them handled?

Correctly - this tool reads the whole file with a full CSV parser, so a quoted field like "Smith, John" or a quoted field containing its own line break is read as one field, not split apart. The one thing not handled is a body row with MORE fields than that file’s own header row - the extra fields are dropped, since there’s no column for them to land in.

Files are processed locally in your browser and never uploaded. Read more on the privacy page.

联系我们 contact @ memedata.com