首页 > 解决方案 > c#从一个文件夹中的多个csv文件中检索详细信息

问题描述

我的 csv 文件如下所示,我需要以逗号分隔的格式检索 Folder_NAME、File_NAME 和 File_VERSION 的值

Folder_NAME,KTDPAUTOMATION_AdminUI_AUTODRB
File_NAME,DSW_CBI_EVAL_C4226367
File_VERSION,1.0
File_DISPLAY_NAME_TYPE,FileNAME
File_OFFSET_TYPE,FFF

标签: c#

解决方案


我认为这应该有效:

Directory.EnumerateFiles(@"c:\yourdir")
.Select(fileName => File.ReadLines(fileName))
.Select(line => line.Split(' ')
.Select(tuple => 
    tuple.Split(',')
    .ToDictionary(arr => arr[0], arr => arr[1])))
.SelectMany(dict => 
   new {
      FolderName = dict["Folder_NAME"],
      FileName = dict["File_NAME"],
      FileVersion = dict["File_VERSION"]
   })

您的文件似乎不是逗号分隔值(csv),而是键值对,其中键和值由逗号分隔,并且对由空格分隔。

关于逗号分隔值:https ://en.wikipedia.org/wiki/Comma-separated_values


推荐阅读