如何利用c语言从Ubuntu文本编辑器中创建的CSV文件格式中读取数据

216 阅读6分钟

当一个程序被解散时,所有与之相关的数据都被删除。因此,我们需要将数据保存在某个地方。使用文件可以无限期地保存和共享数据。包含在文本文件中的数据可以使用C#检索和修改。在这篇文章中,我们将用c#编程语言从Ubuntu文本编辑器中创建的CSV文件格式中读取数据。为此,我们必须知道什么是C#中的CSV文件。

什么是Ubuntu 20.04中的C# CSV文件?

CSV(逗号分隔值)是一种常用于电子表格和数据库的数据导入和导出布局。一条数据记录由CSV文件中的每一行表示。虽然CSV是一种相当简单的文件格式,但可以有很多变化,如各种定界符、新行和引号字符。

在Ubuntu 20.04中用C#编写CSV文件的结构

CSV文件的安排是比较基本的。它是一个以逗号分隔的信息列表。它们可以复杂得多,有成千上万的行,每行有许多条目,还有长长的文本字符串。几乎所有的CSV文件都没有标题,而或多或少他们利用引号来包住每块数据,但这是简单的模式。

这种简单性是一种财富。创建CSV文件是为了使数据的输出和输入变得简单。生成的数据很容易被人类理解,并且可以在文本编辑器中看到。

在Ubuntu 20.04中用C#编写CSV文件的好处

  • CSV文件很容易管理和编辑,在用户限制某一组字段更新之前,修改是不安全的。最重要的是,与PDF电子表格数据下载不同,CSV文件可以事后修改。
  • CSV导入被各种商业软件包所使用。CSV是几个程序的主要报告输出。
  • CSV文件可以用Microsoft Excel或Google Sheets进行编辑和创建,它们被广泛用于电子表格应用程序。

如何在Ubuntu 20.04的C#中读取CSV文件的内容?

在C#中,文件类包括两个读取CSV文件的静态方法:ReadAllText()和ReadAllLines()。ReadAllText()函数返回一个包含整个文件文本的字符串。这个字符串必须被保存在一个变量中,然后用来在屏幕上显示数据。另一方面,ReadAllText()一次从文件中读取每一行,并将其作为一个字符串返回。为了存储每一行,我们需要一个字符串数组。同样的字符串数组被用来呈现数据文件。我们有两个在C#中读取CSV文件的程序,其中一个程序同时读写CSV文件内容。

例子1:在Ubuntu 20.04中用C#语言读取CSV文件内容的程序

为了在C#中处理文件,我们利用了StreamReader类。它可以打开、读取并协助处理各种文件功能。此外,我们可以利用这个类来对CSV文件进行各种操作。CSV文件被单独创建为 "file.csv"。CSV扩展名被用来创建这个文件。之后,我们在程序中给出了一个文件路径。

我们在程序的顶部部分有C#库文件。第一个文件是system.io命名空间,包含与IO相关的类、结构、委托和枚举。我们可以使用这些类来读写文件和数据流中的数据。还有一些用于处理文件和目录的类。第二个是System.Collections.Generics定义了描述通用集合的接口和类,允许用户设计静态类型的集合,这些集合比非通用的静态类型的集合更加类型安全和性能良好。而最后一个库系统库在我们的程序中使用,正如using System语句所表明的那样,它包括类和函数,如Console类和WriteLine函数/方法。

在这之后,我们建立了一个名为 "程序 "的类,在这个类中,我们有main这个公共函数。现在,在程序main块中,我们在一个字符串类型的变量 "filepath "中给出了一个文件路径。StreamReader类对象被创建为 "Reader",并以空字段初始化。if条件将通过使用Exists子句来验证给定的CSV文件路径是否存在,并通过定义StreamReader来读取文件内容。OpenRead打开文件,ReadLine用于读取文件内容。然后,在while循环中,EndOfStream属性被调用,它从当前位置到终点读取整个流。它产生一个字符串,包含从当前点到终点的流的剩余部分;如果流中的当前位置在终点,它产生一个空字符串。请注意,每当编译器读取我们的CSV文件中的逗号时,只要编译器读取逗号,它就会在那里分割行。正如我们所调用的,在变量 "values "内以逗号为参数传递的分割函数。

为了运行这个程序,我们把它保存为 "read.cs "文件扩展名,然后用提示性的shell "csc read.cs "运行它。然后,使用 "mono read.exe "命令,文件的内容将在Ubuntu的提示外壳中被读取,如下所示。

例#2:在Ubuntu 20.04中用C#语言同时读写CSV文件内容的程序

我们可以在CSV文件中写入数据,同时,我们也可以读取CSV文件中的数据。在前面的例子中,我们已经用读的方法读取了文件数据。现在,通过写的方法,我们将在CSV文件中写入数据。

首先,我们用主函数声明将类定义为 "Program"。然后,我们将文件路径存储在变量 "file "中。需要以CSV格式写入的数据被放在了变量 "content "中。WriteAllText函数被用来一次性写入整个数据。它接受两个参数:文件的路径和要写入的文本。控制台的writeLine表达式将显示CSV文件的当前数据。为了逐行写入变量 "ContentLines1 "中的数据,我们有一个 WriteAllLines 函数。它包括两个参数:文件的路径和要写入的文本(一个字符串数组)。然后,我们有另一种方法,StreamWriter,它被用来在CSV文件中写入 "ContentLines2 "的单行数据。

我们在上面的源代码中写的数据,然后读取CSV文件的该数据,如下所示。

结论

关于在C#中读取CSV文件的讨论已经结束了。我们详细讨论了CSV文件,它们的结构,以及它们在实际应用中的好处。然后,我们有两个插图,其中我们实现了读取CSV文件的代码。虽然,我们有一个程序,其中CSV文件的读写操作可以在C#中实现。