跳到正文
IGCSE·Tuition
资讯与通信科技(ICT) · 课程

导入一份小型虚构数据集

进度条一走完,导入看起来就完成了,即使每个值都跑到了错误的位置。

本页内容
  1. 导入时哪些设置很重要?
  2. 例题详解
  3. 要留意的错误
  4. 自我检测
  5. 下一步

导入(import) 数据,是指把外部文件(通常是 CSV)读入表格,让每一行成为一条记录,每一列成为一个字段。实操题会提供一份小文件,要求你载入再检查。这项技能不是点一下”导入”按钮,而是选对设置,并证明结果与源文件一致。

本课只使用虚构数据。它属于数据库结构与验证,并建立在前面几课的字段类型和主键之上。

导入时哪些设置很重要?

四个选择决定表格能否导入正确。

  1. 分隔符(delimiter): 分隔字段的字符。使用文件实际采用的那一个,通常是逗号。
  2. 第一行含字段名称: 当第一行是标题行时勾选,这样它不会被存成一条记录。
  3. 文本限定符(text qualifier): 包住含有分隔符的值的引号。
  4. 字段类型与主键: 在载入数据之前,根据样本值设定每个类型并选好主键。

不同软件对这些选项的叫法不同。要找的是意思,不是确切的标签。

例题详解

一个虚构的文件 members.csv 内容如下:

MemberID,Name,DateJoined,Fee
M001,Aiman Rahim,2024-03-15,45.50
M002,"Tan, Mei Ling",2024-04-02,45.50
M003,Kumar Raj,2024-05-20,30.00
M004,Sofia Lim,2024-06-11,45.50
M005,Daniel Ong,2024-07-01,30.00

第一步,数一数源文件。 有 1 行标题和 5 行数据。表格应该有 5 条记录。

第二步,选择设置。 分隔符:逗号。第一行含字段名称:是。文本限定符:双引号,因为 “Tan, Mei Ling” 含有逗号。

第三步,设定类型和主键。 MemberID:文本,并设为主键。Name:文本。DateJoined:日期。Fee:货币。

第四步,导入并核对数量。 表格显示 5 条记录,与第一步一致。

第五步,抽查特殊的一行。 打开 M002。Name 必须在同一个字段里显示 Tan, Mei Ling,Fee 必须是 45.50。如果 Name 显示 “Tan”,而 Fee 显示 Mei Ling,就是限定符设置错了。

第六步,核对总额。 费用合计 45.50 + 45.50 + 30.00 + 45.50 + 30.00 = 196.50。用第二种方法验算:三笔 45.50 是 136.50,两笔 30.00 是 60.00,136.50 + 60.00 = 196.50。合计与源文件不符,就说明导入有问题。

要留意的错误

常见的失误是没有勾选”第一行含字段名称”。

错误结果: 表格有 6 条记录,第一条的 MemberID = “MemberID”,Name = “Name”,Fee = “Fee”。

标题行被当作数据载入了。因为 Fee 现在含有 “Fee” 这个词,该字段甚至可能被强制变成文本,使求和失效。

改正的方法是在做其他事情之前先比较记录数与源文件。文件有 5 行数据,所以出现 6 条记录就表示多载入了东西。删除错误的记录,勾选标题选项后重新导入,并再次检查类型。另一个要认识的症状:如果每一行都挤在同一列里,就是分隔符错了。

自我检测

1. 一个 CSV 文件有 1 行标题和 12 行数据。正确导入后,表格应有多少条记录?

查看答案

12 条记录。 标题行是字段名称,不是记录。

2. 导入之后,每一行都把整行内容放在第一个字段里,例如 “M001;Aiman Rahim;45.50”。最可能是哪项设置错了?

查看答案

分隔符(delimiter)。 文件用分号分隔字段,导入时却以为是逗号,所以没有发生拆分。

3. 值 Lee, Anna 在 CSV 中没有加引号。会出什么问题?

查看答案

逗号把它拆成两个字段,Lee 和 Anna。之后每个值都向后移一列,数据就和字段名称对不上了。

下一步

导入干净之后,学习如何发现被读成错误形式的值:发现数字与文本的错误解读。如果主键或类型仍不确定,请回头复习定义主键与验证条件。只读 SQL 练习实验室提供了一张内置的虚构表格可供查看。

导入出错往往是细小而容易漏看的地方。ICT 线上一对一补习的老师可以给你故意含有错误的文件,让你学会自己找出问题。

常见问题

什么是 CSV 文件?

CSV(逗号分隔值)文件是纯文本,每一行是一条记录,用分隔符(delimiter,通常是逗号)隔开各个字段。第一行常常是字段名称。因为是纯文本,几乎所有数据库或电子表格程序都能读取。

如果某个值里面含有逗号怎么办?

该值必须用文本限定符(text qualifier)括起来,通常是双引号。没有限定符的话,程序会把逗号当作分隔符,把一个值拆成两个字段,之后所有字段都会向右移一列。

怎样证明导入成功?

把记录数与源文件对比,确认字段名称没有被当成记录存入,再打开几行,逐个字段与源文件核对。同时确认数据类型和主键。不要只相信进度条。

更新于:

下一步

如果导入后的表格总是看起来差不多对、却又有问题,一对一的老师可以陪你逐步检查一份新文件,教你找出错在哪里。

一小时付费试听课,按所安排老师确认的收费,RM80 起。 其他费用、时间安排及后续课程,在试听课后由家长与老师直接确认。

补习由家长或监护人安排。用 WhatsApp 把这页发给他们,他们就可以替你咨询。

是家长或监护人?在这里咨询

已通过我们的服务帮助 9,000+ 名学生