打开或粘贴 CSV 后,每一列都会显示为一行,顺序就是写出时的列顺序。要重命名某列,在该行的“输出列”框中输入新表头;要调整顺序,使用 上移 和 下移;要删除某列,选择 移除。添加列 可以新建一列,复制某个来源列,或填入 (固定值)。结果会随编辑实时更新,点击 下载 CSV 即可保存,所有值都原样复制。如果每个月都会收到同样格式的导出文件,可以用 保存映射 把这套列布局存为 JSON 文件,下次直接加载到新文件上。文件在你的浏览器中处理,不会上传。
如何重命名、调整顺序和删除列
- 打开
.csv、.tsv或.txt文件,拖到工具上,或粘贴数据。分隔符会自动识别;如有需要,可在 导入设置 中设置分隔符、编码或 第一行是列名(表头)。 - 编辑列表:每一行对应一个输出列。在 输出列 1、输出列 2… 框中输入新表头,在 来源列 下选择数据来源,再用 上移 和 下移 调整顺序。
- 移除不需要的行。不再出现在任何位置的列会显示在列表下方,标明不输出。
- 查看 结果 标签页,然后点击 下载 CSV、复制,或 在编辑器中打开 继续处理映射后的表格。
列映射能做什么
| 重命名 | 修改“输出列”中的名称。名称完全按输入使用,包括空格和大小写;源文件不会被改动。 |
|---|---|
| 调整顺序 | 输出按列表从上到下的顺序排列。 |
| 删除 | 点击 移除 删除一行。对应的列不会出现在输出中,其他列不受影响。 |
| 复制列 | 再添加一行,在 来源列 下选择同一个来源,例如保留 email,同时把它另写一份为 login。 |
| 添加固定列 | 在 来源列 下选择 (固定值),并填写 值。每一行都会得到这个值,例如 channel = webshop。如果目标系统要求有某列但可以为空,就留空。 |
| 填充空单元格 | 对于有来源的列,为空时的值 会替换完全为空的单元格,例如把缺失的 status 填为 pending。只有空格的单元格不算空,会原样保留。 |
| 重置 | 恢复原始的列、名称和顺序。 |
每次导出都复用同一套列布局
保存映射 会把布局下载为 viewcsv-mapping.json。下次打开新文件后,选择 加载映射:列按来源列名匹配,所以即使新导出文件的列顺序不同,也能套用同一套布局。
如果某个系统要求固定的列名,例如财务软件导入、网店商品上传或 CRM,而源系统导出的列名又不一样,这个功能就很有用。新文件中没有的来源列会在加载后列出,并变成 (固定值) 行;请逐一检查,在 来源列 下选择正确的列。
映射会检查的规则
- 每个输出列都必须有名称,且名称不能重复。是否重复按精确比较:
Email和email是不同的名称。 - 至少要保留一列;一套映射最多生成 250 列和 200 万个单元格。
- 结果按源文件自身的格式下载:分隔符、换行符、字节顺序标记(BOM)都相同,编码在浏览器能写出时也保持不变,并且只在需要时加引号。其他旧编码(如 GB18030)会保存为 UTF-8。复制 得到的始终是逗号分隔的文本。
- 源文件中空白或重复的表头在导入时已被改成唯一的名称(
Column 3、name (2)),所以可以像其他列一样映射。 - 值不会被去除空格或改变类型:
001041仍是001041。
把两列合并成一列,或把一列拆成几列,不属于列映射的功能。请在映射之前或之后,在 CSV 编辑器 中完成。如果要把列名不同的多个文件上下拼接,请先把每个文件映射到同一套布局,再使用 合并或关联 CSV 文件。
映射出错时的解决方法
- 提示每个输出列都必须有名称。 有一行的“输出列”框是空的。请填写名称,或移除这一行。
- 提示名称重复。 有两行的输出名称相同。请重命名其中一行。
- 加载映射后提示缺少某些列。 这些来源列名不在当前文件中,所以对应的行变成了 (固定值) 列。和它们一起保存的 为空时的值 现在会写到每一行。请为每一行在 来源列 下重新选择正确的来源。
- 映射文件被拒绝。 文件不是有效的 JSON、没有
columns列表,或列出的列超过 250 个。请重新用 保存映射 保存。 - 表头显示为 Column 1、Column 2… 文件没有表头行,或者 第一行是列名(表头) 被关闭了。请在“输出列”框中输入目标名称。
列映射的限制与隐私
列映射适用于 25 MB、10 万行、250 列和 200 万个单元格以内的文件;数据全部保存在内存中,所以结果能随编辑实时更新。更大的文件无法处理,请先用 拆分 CSV 文件 拆开,再对每一份套用保存的映射。
CSV 文件和映射都留在当前标签页中,不会发送到任何服务器。
示例:把订单导出文件映射为导入格式
把一份订单导出映射为导入格式:删除 city,把 status 上移并将其 为空时的值 设为 pending,其余列重命名,再添加一个固定值的 Channel 列。空白价格仍为空,因为这一列没有设置默认值。
order_id,customer,city,unit_price,status 001041,Ana Ruiz,Madrid,34.90,paid 001042,Ben Ito,Osaka,,
Order ID,Status,Customer name,Price,Channel 001041,paid,Ana Ruiz,34.90,webshop 001042,pending,Ben Ito,,webshop
常见问题
每个月的导出能重复使用同一套列映射吗?
可以。先点击一次 保存映射,之后每个新文件都选择 加载映射。列按来源列名而不是位置匹配,缺失的列会被列出来,方便你修正。
映射会改动列中的值吗?
不会。值会原样复制。唯一会变化的,是设置了 为空时的值 的列中的空单元格,以及你添加的固定值列。
能把姓和名合并成一列吗?
这个工具做不到:每个输出列只能来自一个来源列或一个固定值。请先在 CSV 编辑器 中合并这些值,再对结果做映射。