当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

作者:精品下载站 日期:2024-12-14 13:07:05 浏览:13 分类:玩电脑

什么是 CSV 文件,如何创建、打开和使用它们


当您想到数据时,大多数人不会想到 CSV 文件(逗号分隔值文件)。您可能会想到一个包含由字段和值组成的数据库记录的数据库。但您可以将类似的表格信息存储在简单的文本文件中,并使用 CSV 文件消除专有数据库。

CRM 系统需要客户详细信息,例如姓名、地址、联系电话号码。邮件列表软件需要每个用户的姓名和电子邮件地址。 CSV 文件可以保存此数据以及许多其他类型的数据。在文件中输入内容或者然后修改数据库要快得多。

在本文中,您将了解如何创建和编辑 CSV 文件来存储表格信息。

什么是 CSV 文件?

最简单的形式是,CSV 文件是一种文本文件,它将您在纸上绘制的信息存储为表格。将表视为有记录。然后,每个记录将相关信息的属性存储在行中,将属性的字段存储在列中。

在 CSV 中,这些列可以并且通常具有如下所示的标题(颜色、型号和品牌)。

CSV 文件有什么特别之处?它们是在不同计算机系统之间交换数据表的一种方式。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

正式定义

早在 1972 年,在 IBM 的 Fortran 编译器处理个人计算机之前,CSV 文件就已经存在,并且早在 1983 年就在 SuperCalc 电子表格中使用。直到 2005 年,CSV 文件的正式定义才由 IBM 添加。互联网工程任务组 (IETF) 征求意见 RFC4180。

为了确保 CSV 文件始终遵循特定模式,Internet 工程任务组 (IETF) 定义了征求意见 (RFC),该请求通过 RFC4180 定义了 CSV 文件的外观。

简而言之,这个 RFC 告诉我们 CSV 文件有一些属性。

  • 它的记录位于单独的行上,由换行符 (CRLF) 分隔。
  • 文件中的最后一条记录可能有也可能没有结束换行符 (CRLF)。
  • 可选的标题行显示为文件的第一行,其格式与普通记录行相同。
  • 在标题和每条记录中,可能有一个或多个字段,以逗号分隔。
  • 每个字段可能会也可能不会用双引号样式引号引起来。
  • 包含换行符 (CRLF)、双引号和逗号的字段应括在双引号中。
  • 如果使用双引号括住字段,则必须通过在字段前添加另一个双引号来转义出现在字段内的双引号。

CRLF 代表“回车/换行”,它是文本文件中行尾的正式定义

先决条件

现在是时候学习如何构建和编辑 CSV 文件了。但是,在您深入之前,本教程希望您首先满足一些先决条件。

本文假设您可以使用简单的文本编辑器,例如 Windows 上的记事本或 Linux 或 Mac 系统上的 Nano。如果您想要更高级的功能,例如语法突出显示(不同的颜色代表不同的项目),您可以使用更高级的编辑器,例如 Notepad++、VSCode、Vi 或 EMACS。

如果您想按照本教程中的示例进行操作,您需要拥有 Microsoft Excel(任何最新版本)和 PowerShell(任何版本)。

创建 CSV 文件

让我们首先创建一个简单的 CSV 文件作为演示。在本文中,您将在各种演示中使用此 CSV 文件。

使用简单的文本编辑器

创建 CSV 文件的方法有多种。如果您使用的是 Windows,最简单的方法之一就是使用记事本,无需任何精美软件。

要使用纯文本编辑器(Windows 上的记事本)创建简单的文本文件:

1. 打开记事本,这将打开一个空白文件。

2. 将以下文本复制并粘贴到空白文件中。此文本表示 CSV 数据,包含三列(姓名、地址和电子邮件)和两行数据;一排为 Joe Bloggs,一排为 Jane Bloggs。

Name,Address,Email
 Joe Bloggs,1 Anystreet,[email 
 Jane Bloggs,1 Anystreet,[email 

3. 现在将文件保存为c:\temp\Address Details.csv

默认情况下,记事本会在文件扩展名中添加.txt;通过从保存类型下拉列表中选择“所有文件”并在文件名中包含 .csv 扩展名来避免这种情况。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

恭喜!您现在已经有了一个 CSV 文件!

使用微软Excel

大多数时候,使用纯文本编辑器创建 CSV 文件并不可行。像记事本这样的文本编辑器无法“理解”您正在创建 CSV 文件。它不知道您正在构建特定的行和列的表结构;它只看到文字。

您需要一个能够理解 CSV 文件的应用程序。 Microsoft Excel 就是其中之一。 Microsoft Excel 是处理 CSV 文件的最常见应用程序之一。有些人甚至将 CSV 文件称为电子表格。

假设您使用的是 Windows 并安装了 Excel:

1. 打开 Excel。它应该提示您创建一个新工作簿,如下所示。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

2. 选择空白工作簿

您可能想知道为什么要创建新工作簿而不是 CSV 文件。 Excel 可与工作簿和工作表配合使用。如您将看到的,要创建 CSV 文件,您必须创建一个工作簿,其中包含将另存为 CSV 文件的工作表。

3. 在工作表中,输入以下三个数据行以及三个标题,如下所示。

"Name","Address","Email"
 "Joe Bloggs","1 Anystreet, Anytown","[email "
 "Jane Bloggs","1 Anystreet, Anytown","[email "
 "John O'Brian","Anytown","[email "

上面的 CSV 字段用双引号括起来。为什么?因为名称 John O'Brian 包含撇号,而地址包含逗号。当值包含撇号或逗号时,必须用双引号将该字段括起来,以便程序正确理解 CSV 文件。

完成后,您的 Excel 工作表将如下所示。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

如果您决定忽略教程的说明并本能地将上面的文本复制并粘贴到电子表格中,则字段不会拆分为列(A、B 和 C)。如果是这样,请使用 Excel 拆分数据功能。

4. 现在,单击文件 —> 保存,将工作表另存为 CSV,并为 CSV 文件提供名称。

5. 在保存对话框中,选择 CSV(逗号分隔)作为文件格式,然后单击保存

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

使用PowerShell

由于此博客面向 IT 专业人员,并且 IT 专业人员喜欢 PowerShell,因此接下来让我们使用 Microsoft 的 PowerShell 创建 CSV。使用 PowerShell,您可以通过多种不同方式创建 CSV 文件,其中最流行的是使用 Export-Csv cmdlet。

要使用 PowerShell 和 Export-Csv cmdlet 创建 CSV 文件:

1. 打开 PowerShell 控制台。

2. 运行 Get-Process cmdlet 以返回某种输出。 Export-Csv cmdlet 将 PowerShell 对象“转换”为 CSV 文件,因此您需要一些对象。 获取进程

Get-Process

然后,PowerShell 返回进程列表。每个进程都是一个具有属性的对象。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

3. 现在将 Get-Process cmdlet 的输出通过管道传输到 Export-Csv cmdlet。下面的代码在当前工作目录中创建一个名为 processes.csv 的 CSV 文件。

Get-Process | Export-Csv -Path processes.csv

编辑 CSV 文件

如果您一直在跟进,此时您应该拥有三个 CSV 文件,它们都是使用不同的方法创建的。现在您已经有了一些可以使用的 CSV 文件,现在让我们学习如何以几种不同的方式编辑现有的 CSV 文件。

使用微软Excel

在上一节中,您使用 Excel 创建了一个简单的 CSV 文件。按理说;您还可以使用 Excel 编辑 CSV 文件,所以我们就这样做吧。

假设您按照使用 Excel 创建 CSV 文件部分的操作,您应该在 c:\temp 中拥有一个名为 Address Details.csv 的 CSV 文件。 让我们打开它。

1. 打开 Windows 文件资源管理器并导航至 c:\temp。

2. 双击文件以在 Excel 中打开。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

如果您在 Windows 中双击 CSV 文件,Windows 将使用 Excel 打开该文件。 Excel 是打开 CSV 文件的默认应用程序。

在上一节中,您输入的 CSV 数据的每个标题和数据字段都带有双引号。与记事本等文本编辑器不同,Excel 可以识别 CSV 文件并删除它们,因为知道它们是 CSV 结构的一部分。

3. 在第 5 行中,添加 Sophie O’Brian,如下所示。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

4. 单击保存并关闭Excel。

5. 现在,右键单击文件资源管理器中的Address Details.csv 文件。您应该会看到一个编辑菜单选项,如下所示。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

6. 单击编辑,CSV 文件应在记事本中打开。您可以在下面看到,使用 Excel 在 CSV 文件中添加行仅在必要时添加了带有双引号的第四个数据行(带空格)。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

如果您希望使用编辑菜单选项在其他程序中打开 CSV 文件,请更改 Windows 默认应用程序。

使用PowerShell

对于最后的演示,让我们开始使用 PowerShell 读取和编辑 CSV 文件。与使用 Export-Csv cmdlet 创建 CSV 文件类似,PowerShell 有一个 Import-Csv cmdlet,其作用相反;它读取现有的 CSV 文件。

假设您仍然拥有之前创建的 c:\temp\Address Details.csv CSV 文件:

1. 打开 PowerShell 6+ 控制台。

Windows PowerShell 用户:此演示在 Windows PowerShell 中的工作方式几乎相同。唯一的区别是,当您使用 Export-Csv cmdlet 创建 CSV 时,默认情况下,它会在 CSV 顶部添加一行,类似于 #TYPE System.Management。 Automation.PSCustomObject。要删除它,请使用 NoTypeInformation 参数。

2. 使用 Import-Csv cmdlet 读取 CSV 文件,并将输出分配给名为 $addr 的变量。要读取 CSV 文件,您不必将输出分配给变量。本教程之所以这样做,是因为您稍后将编辑 CSV 文件。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

使用 Import-Csv cmdlet,PowerShell 读取 CSV 文件中的每一行并将每个数据行转换为一个对象。

3. 现在,创建一个哈希表并将该哈希表转换为表示新行的新 PSCustomObject 对象。下面的物体代表了 Sophie O’Brian 的一项记录。

$newrow = [PSCustomObject] @{
     "Name" = "Sophie O'Brian";
     "Address" = "The Old Postoffice, Anytown";
     "Email" = "[email "
 }

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

4. 将通过变量 $newrow 表示的对象添加到先前从 CSV 文件读取的现有对象 $Addr 数组中。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

5. 一旦 $Addr 数组包含新对象,请使用 Export-Csv 将对象数组导出回同一个 CSV 文件。然后,Export-Csv 将使用 Force 参数覆盖原始 CSV 文件,以允许覆盖文件。

$Addr | Export-CSV '.\Address Details.csv' -Force

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

要将行追加到 CSV 文件而不是覆盖,请使用 Append 参数。

6. 现在,在记事本中打开 CSV 文件。现在请注意,PowerShell 添加了行,但所有字段都用双引号引起来。 Excel 和 PowerShell 保存 CSV 文件的方式不同。

[玩转系统] 什么是 CSV 文件,如何创建、打开和使用它们

结论

CSV 文件格式是最古老的文件类型之一。它简单的形式使得它对于在不同程序或计算机之间交换表格信息非常有用。

可以在文本编辑器中创建 CSV 文件,或者在电子表格中创建更长、更复杂的表格。

现在,您认为 CSV 文件可以帮助哪些项目?

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯