一、案例背景说明

ETL 流程的首要环节是从各类数据来源中抽取数据。数据获取在数据处理链路中属于难度较大、富有挑战性的步骤,其困难根源在于数据来源的多样性和异构性——不同来源的数据在存储格式、访问协议、编码标准等层面差异悬殊,需要灵活多样的接入策略予以应对。

在经典的数据仓库架构中,数据一般来自企业内部运行的事务处理系统,典型如财务管理系统、ERP 系统等。此类系统中的数据普遍存放于关系型数据库内,常见的有 MySQL、Oracle、SQL Server 等。针对这种场景,技术人员可以通过 JDBC 等标准协议直连数据库完成数据抽取。然而,如果数据源属于非关系型存储(如 NoSQL、日志文件、API 接口等),又或者缺少适配的数据库驱动程序,那么数据抽取工作的复杂度便会大幅攀升。

另一种常见且棘手的数据获取场景,在于数据的所有权归属外部主体或其物理存储位置不可达。例如数据归属于上游供应商、下游客户等外部合作方,又或是数据存放在企业防火墙之外的云环境中。在这类情况下,直接通过数据库连接进行抽取往往不具备可行性,此时以数据文件(如 CSV、Excel、JSON 等)为载体进行离线交换,就成了一种简便、高效且成本可控的替代方案。

本案例将以助睿 ETL 平台为工具,系统讲解其中内建的多类文件数据抽取组件(涵盖 CSV、Text 文本以及 Excel 三种主流格式)的具体用法,通过实操演示各类组件如何完成不同格式文件的快速解析与数据抽取,帮助读者掌握异构文件数据源的接入方法。

二、平台与环境配置

实验平台名称:助睿在线实验平台

平台访问入口:https://lab.guilian.cn/

核心技术产品:助睿数智(Uniplore)—— 基于 AI 技术驱动的一站式零代码数据智能服务平台

所用功能模块:助睿 ETL 数据集成平台

官方产品网站:https://www.uniplore.com/

该平台覆盖了从数据接入、ETL 加工、机器学习建模到可视化呈现的完整数据处理链路,全部支持零代码拖拽式操作,既适用于高等院校的数据科学教学场景,也能够满足企业日常数据加工与治理的实际需求。

三、数据文件准备

本案例中所用到的全部数据文件均可从助睿 ETL 平台的「公共空间」模块中获取,具体文件清单如下:

「从 CSV 文件中读取数据」子章节将使用项目信息数据文件:project.csv;

「从文本文件中读取数据」子章节将使用足球比赛记录数据文件:usa_201209.txt;

「从 Excel 中读取数据」子章节将使用购房者信息数据文件:custinfo.xlsx。

将上述数据文件从公共空间导出至个人项目文件库的操作流程如下:

步骤一:登录助睿 ETL 平台后,进入「数据集成」模块,在「我的项目」列表中找到目标项目,点击项目条目右侧的「」操作按钮,从下拉菜单中选择「打开项目」以进入项目工作区。

步骤二:在页面右侧功能区切换到「公共空间」面板,再切换到「数据资源」标签页,在资源列表中找到文件名为 project.csv 的数据资源,点击该行右侧的「更多」操作按钮,在弹出的菜单中选择「导出」功能。

步骤三:系统弹出「导出数据资源到项目空间」对话框,核对待导出文件确认为 project.csv 后,指定导出目标路径(如根目录"/"),确认无误后点击「确定」按钮,即可将文件导出到个人项目下的「文件库」中。

步骤四:返回左侧导航菜单,切换至「文件库」标签页,右键单击空白区域选择「刷新」,即可看到刚才导出的文件已出现在项目文件列表中。

四、CSV 文件数据抽取与加工

本节目标是利用助睿 ETL 搭建一条完整的数据处理工作流,实现对 CSV 格式项目信息数据的提取、计算与标准化输出。整体思路为:首先从 CSV 文件中加载原始项目数据,然后基于每条记录的开工日期(start_date)与结束日期(end_date)自动计算项目执行天数,再依据执行天数所处的区间范围判定项目绩效等级(performance),最终完成项目绩效的自动化评估与数据的标准化输出。

具体实现路径如下:第一步,通过「CSV 文件输入」组件读取原始 CSV 数据;第二步,使用「字段选择」组件过滤出后续计算所需的关键字段;第三步,在「计算器」组件中创建新字段 diff_date,用于存放结束日期减去开工日期所得的天数差;第四步,通过「数值范围」组件,按照设定的天数区间规则自动为每条记录生成 performance 评价值,完成项目绩效的综合评定。

以下为详细的操作步骤:

新建一个转换流,进入项目后切换至「组件库」标签页,从组件列表中拖拽「CSV 文件输入」组件放置到画布中央,具体配置界面如下所示。

双击画布上的「CSV 文件输入」组件打开配置对话框,点击"浏览文件"按钮,系统将弹出文件浏览器组件供用户选取目标数据文件,操作界面如下所示。

在文件浏览器中定位并选中需要读取的 CSV 文件「project.csv」,确认后文件浏览器会自动将该文件的完整路径解析并回填至「CSV 文件输入」组件的文件名字段中,配置效果如下所示。

文件路径配置完毕后,接下来需要让组件自动识别 CSV 文件的内部结构并提取字段信息。具体操作为:在「CSV 文件输入」组件下方的数据预览区域中右键单击,从弹出的上下文菜单中选择"获取字段"命令,组件便会自动扫描 CSV 文件的第一行作为字段名称列表。

字段配置完成后,建议通过组件的「预览」功能查看数据读取的实际效果,以验证数据是否正确加载、字段解析是否准确无误。预览结果能够直观反映数据接入的质量。

完成 CSV 文件的解析与数据加载之后,接下来进入数据加工阶段。从组件库中拖拽「字段选择」组件到画布上,然后从「CSV 文件输入」组件拖出连接线指向「字段选择」组件,建立组件间的数据传递关系。

双击「字段选择」组件进入配置界面,在默认的「选择和修改」标签页中,于空白区域右键单击并选择"获取字段",组件将自动接收并展示上游「CSV 文件输入」组件传递过来的全部字段信息。

在「选择和修改」标签页中,可以对字段的名称、数据类型、长度、精度等属性进行调整。本案例无需对字段属性做任何修改,因此直接沿用默认设置即可。

字段选择配置完成之后,继续从组件库中拖拽「计算器」组件到画布上,建立从「字段选择」指向「计算器」的连接线。在弹窗中会出现两个链路选项:主输出步骤与错误处理步骤。主输出步骤承载正常数据的流转,而错误处理步骤用于容纳类型转换失败等异常数据。本案例仅关注正常数据的处理,故选择「主输出步骤」。

双击打开「计算器」组件的配置窗口,点击"插入"按钮新增一行计算规则。「计算器」组件中的每条规则由以下几部分组成:新字段(运算结果存放的字段名)、计算公式(即运算方法)、字段 A/B/C(参与运算的输入字段)。配置界面如下:

在新增的计算规则行中执行以下配置操作:在"新字段"列手工键入字段名 diff_date;在"计算"下拉列表中选择 Date A - Date B (in days);"字段 A"下拉列表选择 end_date;"字段 B"下拉列表选择 start_date;"值类型"下拉列表选择 Integer。完成上述设置后点击"确认"。该规则的语义为:计算每条项目记录的结束日期与开工日期之间的天数间隔,并将整数类型的结果存入字段 diff_date 中。

计算器组件配置完成后,再从组件库拖拽「数值范围」组件至画布上,建立从「计算器」指向「数值范围」的数据连接线。

双击「数值范围」组件进入配置界面:在"输入字段"下拉框中选择 diff_date 作为判定依据,在"输出字段"文本框中手工输入 performance 作为评定结果字段名。按照以下业务规则逐一配置数值区间映射关系:

区间 [0, 30):评定等级为 excellent(优秀);

区间 [30, 180):评定等级为 very good(良好);

区间 [180, 360):评定等级为 good(一般);

区间 [360, +∞):评定等级为 poor(较差)。

上述区间规则全部配置完毕后点击"确认"。数值范围组件的完整配置效果如下图所示。

从组件库中拖拽「文本文件输出」组件至画布,建立从「数值范围」指向「文本文件输出」组件的连接,用于将加工完成的最终数据导出为文件。

双击「文本文件输出」组件打开配置界面,按以下参数逐一设置:

在"文件名称"文本框中输入 porject_output;

在"扩展名"文本框中输入 csv;

以上配置的含义是:将处理完毕的数据以 project_output.csv 为文件名写入磁盘。

切换至"内容"标签页,将"分隔符"字段的值手动改为英文半角逗号(,),这意味着输出的 CSV 文件中各字段将使用逗号进行分隔。

切换至"字段"标签页,在字段列表区域执行右键单击 →"获取字段"操作,组件将自动加载上游传递的所有字段定义信息,即把上游全部字段都纳入输出范围。

完成全部配置后点击"确认"按钮保存所有设置。

至此,所有组件的配置工作已全部完成,完整的转换工作流在画布上的最终呈现如下:

点击画布顶部工具栏中的「运行」按钮,在弹出的确认对话框中点击「启动」,系统即开始执行整条转换流水线。

转换流成功执行完毕后的运行结果如下图所示:

转换完成后回到「文件库」,可以看到一个新生成的 project_output.csv 文件,打开该文件即可查看经过加工的项目绩效评估数据,内容展示如下:

五、文本文件数据读取与验证

本节以足球比赛记录数据为例,展示如何利用助睿 ETL 平台完成文本格式数据的标准化读取、字段裁剪以及全链路验证,为后续的数据统计与比赛分析提供可信的输入数据源。该数据集涵盖了比赛日期、比赛地点、主客队名称、比分等关键字段。整个处理过程由三个核心步骤串联而成:

数据接入环节:使用「CSV 文件输入」组件加载文本数据,逐一确认文件路径的正确性、字段解析的准确性以及数据格式的合规性,保证源数据能在 ETL 平台中被正常识别和读取。

字段筛选环节:通过「字段选择」组件,依照分析需求挑选出核心字段(例如比赛日期、主队、客队、比分等),筛除与后续分析无关的冗余列,从而精简数据集的宽度。

结果验证环节:在流程末端接入「空操作(什么也不做)」组件,该组件仅作为数据接收器,不对数据做任何业务逻辑处理,其核心价值在于检验数据能否从上游节点完整、无损地传递到输出端,以此验证整条数据流链路的连通性和稳定性。

通过上述三个步骤的有序组合,我们将快速构建一条完整的文本数据读取与验证流水线,为后续的比赛数据统计分析和比分趋势研判等业务场景奠定坚实的数据基础。

以下为具体的操作步骤:

新建一条转换流,从组件库中将「CSV 文件输入」组件拖放到画布上,作为文本数据的入口节点。

双击该组件弹出配置窗口。点击"文件名"旁的"浏览文件"按钮,选取目标文本数据文件:usa_201209.txt。随后将"列分隔符"参数设置为英文分号(;),注意必须与实际文件内部采用的分隔符保持一致——若文件中实际使用的是中文分号(;),则此处也应相应设置。最后勾选"包含列头行"复选框,表示文件首行将作为字段名称来解析。这套配置的含义是:让组件以分号作为列分隔符来解析 usa_201209.txt 文件,并取用第一行数据作为列标题。

配置完成后,在组件下方数据预览区域的空白处右键单击,执行"获取字段"菜单命令,系统将自动解析文本文件中的字段结构并加载到字段列表中。确认无误后点击"确认"按钮。

选中画布上的「CSV 文件输入」组件,右键单击选择"预览输出",在弹出的预览窗口中检查数据是否正确加载、各字段是否被正确解析,预览效果请见下图。

依次将「字段选择」和「空操作(什么也不做)」组件从组件库拖至画布上,按顺序建立「CSV 文件输入」→「字段选择」→「空操作(什么也不做)」的连接链路。在弹出连接步骤选项的提示框时,一律选择「主输出步骤」,完整的转换流结构见下图。

双击「字段选择」组件打开配置界面,切换至"移除"标签页。在空白区域依次执行"获取字段"和"删除选中行"操作,仅保留需要移除的 Venue 字段并删除。这样配置后,「字段选择」组件会从数据流中去掉 Venue 列,不再将其向下游传递。

点击画布左上角的「运行」按钮,在弹出对话框中点击「启动」,系统开始执行转换流程。执行完成后显示的结果如下:

选中「空操作(什么也不做)」组件,右键选择"预览"功能,查看经过字段剔除处理后的最终输出数据,以此验证 Venue 字段是否成功移除以及其余数据是否完整传递。

六、Excel 文件数据导入与预处理

近年来,国内房地产市场持续升温,房价波动幅度较为剧烈。购房对大多数家庭而言都是一生中最重大的资产配置决策之一,购房选择将直接关系到后续长期的生活品质与居住满意度。由于房地产市场上楼盘产品供给丰富多样,不同房源在价格水平、地段区位、面积大小、户型格局、周边配套等诸多方面都存在明显差异,购房者在做决策时往往会综合考量房价、环境品质、物业服务、户型设计等多种维度,信息维度过高导致了普遍的"选择困难"。

在对购房决策影响因素(如购房者的年龄、性别、学历层次、月收入水平、家庭人口规模等)进行数据建模分析之前,需要先对原始采集数据进行过滤和筛选。本节将演示如何使用助睿 ETL 平台读取 Excel 格式的购房者信息数据,通过字段选择操作筛选出后续建模所需的核心字段,完成数据的初步预处理。

详细操作步骤如下:

新建一条转换工作流,在「组件库」面板中找到「Excel 输入」组件,将其拖放至画布上作为 Excel 数据的读取入口。

双击组件进入配置窗口,点击"浏览"按钮,在弹出的文件浏览器中选择需要处理的 Excel 数据文件。

选定文件后点击"增加"按钮将文件加入"选中的文件"列表,完成基础文件绑定。组件将采用 Excel XLSX(Streaming)引擎以流式方式解析和读取 custinfo.xlsx 文件。

切换到"内容"标签页进行详细配置:勾选"头部"和"非空记录"两个选项,在"编码"下拉列表中选择 UTF-8。此配置表示文件首行为字段名称、仅读取非空数据行、且文件字符编码格式为 UTF-8。

切换至"工作表"标签页,点击下方的"获取工作表名称"按钮,组件将扫描 Excel 文件并提取其中包含的所有工作表(Sheet)信息。

在弹出的工作表选择窗口中,勾选目标工作表 Sheet1 前的复选框,点击两栏中间向右箭头按钮将其移至右侧"已选中"列表,确认后点击"确定"。如此配置后,组件仅读取 Sheet1 工作表中的数据。

切换至"字段"标签页,在空白区域右键单击并选择"获取来自头部的字段"命令,组件将自动读取 Sheet1 工作表的第一行数据,将其解析为字段名称列表。

系统会将解析出的字段名及其数据类型等属性自动填充到字段列表中,核对无误后点击"确认"按钮完成字段配置。

从组件库中依次拖出「字段选择」和「空操作(什么也不做)」组件放置到画布上,按「Excel 输入」→「字段选择」→「空操作(什么也不做)」的顺序依次连接,在弹出的步骤选择提示框中全部选择「主输出步骤」,完整的数据流结构见下图。

双击「字段选择」组件进入配置界面,在"选择和修改"标签页的空白区域右键单击,选择"获取字段",载入上游 Excel 输入组件传递的全部字段信息。在字段列表中仅保留目标字段 education(学历)和 employment(就业状况),其余字段全部移除,点击"确认"保存。

所有节点配置完成后,点击画布左上角的「运行」按钮,在弹出的提示框中点击「启动」,系统开始执行完整的转换流程,运行结果如下所示。

选中末端的「空操作(什么也不做)」组件,右键单击选择"预览输出",即可查看经过 Excel 数据读取和字段筛选两层处理后的最终输出结果,以此验证 education、employment 两个目标字段是否被正确保留以及数据传递是否完整无缺。

本次实践以助睿 ETL 平台为依托,系统性地完成了 CSV、TXT 文本、Excel 三种主流结构化数据文件格式的完整处理链路——涵盖数据解析与读取、字段选取与裁剪、以及端到端的数据传输验证。通过上述实操,我们初步建立了 ETL 数据集成领域的基础技能框架,理解了数据预处理的核心方法论,为后续展开数据分析、建立业务模型等更深层次的工作提供了可靠的数据源保障。这些基本操作能力也是数据工程领域从业者必须掌握的通识性入门技能。

Logo

一站式 AI 云服务平台

更多推荐