在C#中解析多种格式的CSV文件?

时间:2019-06-05 15:27:55

标签: c#

我需要开发一个C#函数,该函数可以解析多种格式的CSV文件。该功能应该能够执行以下操作:

能够从具有不同格式的自定义源中获取多个记录,并转换为可在应用程序中使用的通用标准。

自定义来源#1格式:

标识符姓名类型打开的货币


123 | AbcCode我的帐户2 01-01-2018 CD


自定义来源#2格式:

名称姓名类型货币代码


我的帐户RRSP C


我需要将数据转换为以下标准格式:

标准格式:

标识符姓名类型打开的货币


123 | AbcCode我的帐户RRSP 01-01-2018 CAD


应用程序应该是可扩展的,这意味着它将来应该能够合并任何新格式。目前,我手动执行以下操作:

  1. 逐行读取文件
  2. 按字符“,”将其拆分为字符串数组
  3. 解析数组中的每个项目以使其与标准格式匹配。
  4. 将已解析的记录添加到对象列表中。

是否有更好的方法?有没有创建通用解析器的方法?

1 个答案:

答案 0 :(得分:1)

由于这里没有代码可以验证,我将告诉您该过程

  1. 首先,您应该制作一个包含所需格式的类
  2. 您应该将记录加载到内存中
  3. 您应按记录进行拆分
  4. 您应该使用控制流语句来查看是否需要执行,在这种情况下,您可以使用长度。
  5. 当您知道需要去哪里时,只需将其添加到班级列表中,即可使用您所拥有的信息创建一条新记录

最困难的部分是添加单词长度相同的新单词。您将来可以使用正则表达式对其进行过滤。