数据导入:CSV、多工作表、整个文件夹
数据导入的麻烦从来不在「读一张表」,而在读十二张、读乱码的 CSV、读一个塞满工作表的工作簿。这一讲把这三种情况一次讲透,全程不用循环。
这一讲接着第 2 讲往下做,默认你已经会用 Excel 读取器、看得懂节点上的三盏灯、执行完知道回监控面板核行数。
数据导入的三种真实情况
第 2 讲只读了一张 Excel。实际工作里遇到的基本是这三种:
一、CSV 乱码:改编码就好
这是数据导入里最高频的一个坑,也是最容易解决的一个。判断方法很直观:预览里字段名和内容都变成了看不懂的方块或问号,那就是编码不对,跟文件本身无关。
演示会自动播放。鼠标移上去暂停,点任意按钮转为手动,点右上角可以全屏投影。
| 症状 | 原因 | 怎么改 |
|---|---|---|
| 中文变方块或问号 | 编码选错 | UTF-8 改成 GBK,还不行试 GB18030 |
| 所有内容挤在一列 | 分隔符选错 | 试 ; 分号或 \t 制表符 |
| 字段名是 Col0、Col1 | 没勾首行作列名 | 勾上「首行作为列名」 |
| 字段中间被切断 | 引号字符不匹配 | 确认引号是 " 还是 ' |
这四种症状都能在预览里当场看出来,改一下立刻知道对不对。所以配 CSV 读取器的正确姿势是:改一个参数,看一眼预览,别一次改四个。
二、一个节点读完整个文件夹
十二份月度表,最容易想到的做法是拖十二个读取器再拼起来。能跑,但下个月多一份文件你还得回来改流程 – 这就违背了工作流「换文件就能重跑」的初衷。
读取器本身支持读整个目录:把读取模式从「单个文件」切到「文件夹中的文件」,它会用同一套配置把目录里的文件逐个读完,再自动纵向拼成一张表。
两个必须设的选项
*.xlsx目录里常混着 Word 说明文档、以 ~$ 开头的 Excel 临时文件。不筛掉,一个临时文件就能让整个节点报错。文件夹模式的前提是这些文件结构一致。如果某个月的表多了一列、或者表头行数不一样,读进来的结果会缺列或错位。合并完第一件事是核行数:十二份表的行数之和,对不上就有文件没读对。
三、一个工作簿里的多个工作表
Excel 读取器默认读「第一个包含数据的工作表」。很多台账的第一个工作表是封面或填表说明,读出来只有几行文字,而且不会报错 – 节点照样绿灯。
按名称选,别按位置选。位置会因为别人在前面插了一个工作表就整体错位,名称不会。
这里有个容易混的地方:文件夹模式能一次读多个文件,但读取器一次只能读一个工作表。十二个工作表都要读的话,入门阶段就是拖十二个读取器再用连接节点拼起来。想用一个节点搞定,要用循环,那是进阶内容。
四、连接节点:把多个来源摞成一张
不管是十二个读取器,还是深圳、广州、上海三份分公司台账,把它们变成一张表都用同一个节点:连接。它做的事是纵向摞表 – 行数相加,列不变。
配置里只有一个问题要答:列不一致的时候怎么办。并集是保留所有列、缺的补空值;交集是只留每份表都有的列。分公司的表格常有细微差异,选了交集就会悄悄丢字段,而且不报错。拿不准先选并集,执行完看列数对不对 – 丢了列比多了空值难发现得多。
别把「连接」和第 5 讲的「关联」搞混。连接是上下摞,行数相加;关联是左右拼,列数增加。名字接近,用途完全不同 – 这是新手最容易用错的一对节点。
学完自检
- 看到中文乱码知道去改编码,而不是怀疑文件坏了
- 能用文件夹模式一次读进整个目录,并且知道要设筛选
- 知道勾「附加来源文件路径列」,合并后还分得清数据来源
- 能指定读哪个工作表,并且知道按名称比按位置稳
- 能用连接节点把多个来源摞成一张,执行完会核行数加法

