TSV痛点?
地址、活动文案、客服备注里英文逗号极常见,直接另存为逗号分隔 CSV 往往列数漂移;很多人先导出制表符分隔的 TSV 再交给下游,检索「tsv 转 csv」「制表符 转 逗号」「excel 复制 到 数据库」「utf-8 无 bom csv」说明卡在「人眼看对齐、程序读错位」。老报表系统、某些国产 BI、以及邮件附件病毒扫描策略,又常强制逗号分隔且指定 UTF-8 是否带字节序标记。你在中间做翻译,要在预览里核对列数、换行符是 LF 还是 CRLF、以及含制表符的单元格是否已被引号包裹。财务月结、仓储出库、人力考勤批量导入都踩过同类坑:先 TSV 稳住列,再按对方模板换回逗号并统一编码,比群里来回发五个版本附件更能保住截止日。若还要进 Spark 或 ClickHouse 外部表,列名合法与 UTF-8 一致性同样是第一道门槛。客服与工单系统里复制整表到备忘录再粘贴时,留意软换行与隐藏制表符,否则预览对齐、导入仍炸。与数仓同事对齐自描述表头与分区字段顺序,也能少开几次列映射扯皮会。
如何把 Excel 或系统导出的 TSV 规范成对方系统要求的逗号分隔 CSV 并通过导入向导验收
- 用文本编辑器或工具预览确认分隔符确为制表符而非连续空格;若从网页复制表格,先粘到纯文本看是否被插入了多余引号或软换行。
- 选择输出为逗号后对含逗号字段启用引号包裹,并指定 UTF-8 是否带 BOM:对方若是老式 Windows 工具链,有时反而需要 BOM 才能识别中文。
- 在目标环境用「自文本导入」走一遍列类型映射,特别检查日期列与长数字列是否被误当成数字;通过后把导入参数截图归档,减少下次月结重复踩坑。
TSV/CSV 常见问题
单元格内容里真的出现了制表符本身,转逗号 CSV 后列又炸了,这种嵌套分隔符该坚持让业务改模板还是先在工具里用引号规则兜住?
标准做法是源表用双引号包裹该单元格并转义内部制表符;若业务短期改不动,可协商临时替换为少见占位符并在数仓层还原。长期必须在模板培训里禁止在自由文本里敲真正的 Tab 键。
对方坚持 UTF-8 无字节序标记,但财务同事双击 Excel 仍整屏乱码,这种工具链代差在交付邮件里该怎么写死操作步骤并明确责任边界而不互相甩锅?
应在交付说明写明禁止双击打开并附「数据自文本导入」截图路径;若对方无法培训全员,可折中输出带 BOM 版本专供人工查看,流水线仍用无 BOM。把责任边界写进附件比口头承诺可靠。
欧洲同事给的 TSV 里小数点仍是逗号,我转英文逗号 CSV 时会不会把金额列拆成两列,这种区域格式雷区怎么一眼自检?
先在预览里检查小数列是否仍是一个字段;必要时先在源表把文本格式统一为点号小数,再跑分隔转换。把区域设置写进数据字典,避免同一列在不同国家导出规则漂移。
从网页复制整张表到工具里行数变少,怀疑中间有不可见分页符,这种「看起来全选、实际漏行」该怎么定位而不误判为工具截断?
可先对比源站导出文件行数与粘贴板行数,再用十六进制视图查异常分隔控制符;若必须全量,应改用官方导出文件而不是富文本复制。把复现步骤写进缺陷单便于前端修表格组件。
数仓入库规范要求统一 LF 行尾,可 Windows 业务同事每次另存又变回 CRLF,这种来回抖动在版本管理与附件校验里该怎么锁死才能不让流水线随机红灯?
应在 CI 里对入库文件做行尾校验与自动归一;交付给业务预览用 CRLF,给管道用 LF,两套命名后缀写清楚。别指望每个人记得另存选项里那一格小勾。