如何把 CSV 导入流程图工具
如何在没有向导的情况下把 CSV 导入流程图工具:把文件拖到表格区域上或粘贴文本,让表头名称去匹配,再检查四件说明这些行落对了的事。
CSV 有两条路进来——把文件拖到画布下方的表格区域上,或者把 CSV 文本粘贴进去——而列是按表头名称而不是按位置匹配的。
简而言之
- 两条路进来:把 .csv 拖到表格区域上,或者把 CSV 文本粘贴进去。
- 列是按表头名称而不是按位置匹配的,所以导出的列序无关紧要。
- 不认识的列会被原样带过并忽略——把导出文件里的编号和时间戳留着就行。
- 第一行被读作表头,所以压在它上面的报表标题必须先删掉。
- 连线到填的是行号,所以这些行在文件里的排列顺序本身就是数据的一部分。
从文件到画布之间发生了什么
没有导入向导。一份 .csv 进入 QueryChart 只有两条路:把文件拖到画布下方的表格区域上,或者用文本编辑器打开它、全选、粘贴进表格。两条路走的是同一套流程——第一行读作表头,之后每一行成为一行数据——图随着这些行落地就画出来了。没有任何环节要求你去对应列,因为表头名称已经把这件事做完了。
匹配依据是表头名称,不是列的位置:形状、方框文字、连线到、连线文字、连线样式、横向泳道、纵向泳道、备注、链接。你的导出文件可以按任意顺序输出它们。QueryChart 不认识的列——工单号、时间戳、一个成本中心、两年前有人为一份报表加上的那三列——会被原样带过并忽略,所以导入前把文件裁瘦是你不必做的功夫。列本身该怎么设计,见 /zh/guides/流程图csv文件结构。
CSV 与从电子表格里粘贴的区别在于,CSV 是一个纯文本文件,而文本文件带着自己的一套失败方式。分隔符可能是分号而不是逗号,因为一个区域设置为欧洲的应用导出来的就是这样。编码可能不是 UTF-8,那样带重音和非拉丁字母的标签就会变成乱码。含逗号的字段必须加引号,否则它会被劈成两个。而报表工具导出的文件通常会在表头上面先写一个报表标题和一个生成日期——文件的第一行就是表头,所以那几行必须删掉。
下面这个示例是一条 SaaS 从试用到续费的客户旅程:26 行,六个判断,三个被排除的结局,还有一条从第 7 天提醒回到设置环节的循环。打开下方的表格面板,看看每个阶段填的是哪些列,因为那正是一份导入文件里各列的重要性顺序——而最后两列,恰恰是多数导出文件早已用别的名字带着的。成品图和生成它的那份 CSV 在 /zh/templates/csv客户旅程地图。
一份 26 行的导出文件落进编辑器
客户旅程 CSV 的四个阶段:先到的是什么,连接列添了什么,两个泳道列又添了什么。打开表格面板逐一读它们。
这些行按文件顺序到达
导出文件的四行成了第 1 到第 4 行:开始“从广告或搜索进入网站”,然后“记录来源、广告计划与落地页”,判断“访客是否开始试用?”,以及结束“未开始试用即离开”。此时只有方框文字和形状落了地,所以有方框没有箭头。行号就是文件顺序——文件的第 2 行是第 1 行数据,因为第 1 行是表头。
连线到把箭头填上
试用阶段的行到齐了,连接也跟着来了。第 10 行“关键动作是否在 7 天内完成?”在一个连线到单元格里放了三个数字——13、11 和 12——而第 11 行“发送第 7 天的设置提醒并附预约链接”指回第 9 行,一个循环就是这样写出来的。这些都是文件里的位置,所以在这一列填好之后再对导出文件重新排序,正是导入被弄坏的方式。
连线文字给每个出口贴标签
第 17 行“试用是否在到期前转化?”把连线到“20,18”和连线文字“购买套餐,到期未付费”配成一对,按位置对应,第一个配第一个。两列都是住在单个字段里、用逗号分隔的列表,这正是 CSV 写出方必须给它们加引号的原因。不加引号,那个标签就是两个字段,它右边的每一个值都会横着挪一列。
两个泳道列
横向泳道承载旅程阶段——认知、试用、激活、转化、留存——纵向泳道承载负责人:客户、市场、产品、销售和客户支持。多数导出文件本来就以别的名字带着这两者,一个叫阶段的字段,一个叫负责人的字段。所以这张图的泳道版本,代价只是在表头行里改两个名字,而不是任何新数据。
运作方式
打开文件,先看第一行
用文本编辑器而不是 Excel 打开这份 .csv,因为 Excel 恰恰会把出错的那些东西藏起来。第一行必须是表头。请删掉报表标题、生成时间那一行、表头上面的任何空行,以及底部的合计行,然后保存。
把表头改成编辑器的列名
形状、方框文字、连线到、连线文字、连线样式、横向泳道、纵向泳道、备注和链接。被匹配的是这些名称,所以它们排成什么顺序都无所谓,你没有的列干脆不写也行。不在这几个名称之列的表头——“下一步”“步骤类型”——会作为被忽略的多余列落地,而不是报错,这也正是一支缺失的箭头几乎总是表头问题的原因。
检查分隔符和编码
一个区域设置为欧洲的应用导出来的文件通常是分号分隔的,进来时整行会挤在一列里。请重新导出并选择逗号。顺手存成 UTF-8:从 Latin-1 或 UTF-16 过来,带重音和非拉丁字母的标签会变成乱码,而重新导出比把每个标签重打一遍要快。
给每一个含逗号的字段加引号
连线到和连线文字都是住在单个字段里、用逗号分隔的列表,所以一份规范的文件总会给它们加引号——“20,18”和“购买套餐,到期未付费”。方框文字里如果出现半角逗号,同样如此。一个不加引号的逗号会把这一行劈开,它右边的一切都落进错误的列里,而且没有任何东西会告诉你这件事发生了。
把文件拖到表格区域上,或者粘贴文本
新建一张图表,然后要么把 .csv 拖到画布下方的表格区域上,要么把 CSV 文本直接粘贴进去。不会出现向导、列映射器或字段对应界面;这些行出现在表格里,图从它们画出来。如果你对这份文件没把握,先在一张草稿图表上试一次。
行一落地就检查这四件事
第一,行数等于文件行数减去表头。第二,第 1 行是你的第一个步骤,不是你的表头文字。第三,找一个你已经知道的连线到数字——回溯的那个最好认——看它是否落在你想要的那个步骤上。第四,分支标签落在你预期的那些箭头上。从此以后,请编辑表格,而不是编辑文件。
应避免的错误
表头行上面压着一个报表标题
CRM 和工单系统的导出文件常以报表名称和生成日期开头。文件的第一行会被读作表头,于是你真正的表头成了第 1 行数据,每一个连线到数字都差了一位——一张画得出来而且是错的图。请在导入前把那几行删掉。
分号分隔的导出文件
一个区域设置使用逗号作小数点的应用,会在字段之间写分号,于是每一行进来都是一个单独的值。请重新导出时选择逗号,而不要对分隔符做全局查找替换,因为连线到和连线文字自己就含有逗号,一次盲替换会把它们毁掉。
连线到填好之后又对文件排了序
连线到指的是行的位置,而不是你源系统里的编号,所以事后按负责人或日期给导出文件排序,会把连接下面的每一个步骤重新编号。请最后填连线到;如果行必须移动,就在编辑器里移动。/zh/guides/在csv中定义流程图连线 把这套寻址讲全了。
指望一个匹配不上的列会报错
QueryChart 不认识的列会被原样带过并忽略——不会有东西变红,也不会丢东西。正是这一点让一份导出文件可以原封不动地导进来,也正是这一点让一个打错的表头悄无声息地失败:数据在文件里,在那一行上,什么也没做。
把你的 CSV 导入一张图表
把这个旅程示例作为你自己的图表打开,看看这些列是怎么填的,然后把你自己的 .csv 拖到表格区域上。
相关指南
常见问题
有导入向导或者列映射器吗?
没有。进来的路只有两条,每一条都是一个动作:把 .csv 拖到画布下方的表格区域上,或者把 CSV 文本粘贴进去。列是按表头名称匹配的,所以没有什么要配置,也没有会让你搞错的字段对应环节。当某一列看上去什么都没做时,原因是表头名称,而不是你漏掉的某个设置。
QueryChart 用不到的列必须删掉吗?
不必。不认识的列会被原样带过并忽略,所以一份带着工单号、时间戳、一个成本中心和四列报表字段的导出文件,可以就以它出来的样子进去。留着它们不花什么代价,还保住了回溯这些行来源的线索。唯一值得先做的列上功夫,是把你确实想被匹配的那几列改名:方框文字、连线到、连线文字、形状和两个泳道列。
我的文件进来变成了一整列,出了什么事?
分隔符不是逗号。区域设置为欧洲的应用导出的文件通常是分号分隔的,而一个用 .csv 扩展名保存的制表符分隔文件表现完全一样。请重新导出并选择逗号,而不要手工替换分隔符,因为连线到和连线文字里装着用逗号分隔的列表,盲替换会把它们毁掉。顺手存成 UTF-8——编码不对表现为标签里的乱码,永远不会表现为一个错误提示。
行导进来了,但一支箭头都没出现。
连线到要么是空的,要么填的不是行号。常见原因有两个:导出文件的下一步那一列带的是源系统自己的编号——STEP_014——而不是文件里的位置;或者某个表头的名字没有被匹配上,于是那一列作为被忽略的多余列落了地。两者都在表格里解决:把行号敲进连线到,箭头会随着你敲边出现。一份能用的文件长什么样,本站的 CSV 转流程图页面上有。
以后能不能重新导入这份文件来更新图表?
图表和它所来自的那份文件之间没有任何关联——没有刷新,没有同步,也没有连接器——所以再导一次是又一次粘贴,而不是一次更新。请把这当成一个只做一次的决定:导入之后,图表就是这条流程的定义,而导出文件成了它当天样子的快照。如果源数据真的每周都在变,那它几乎可以肯定是一份实例流水,而不是一份步骤定义,而只有步骤才该进图表。