【问题标题】:How to read multiple csv file in a folder using csvhelper如何使用 csvhelper 读取文件夹中的多个 csv 文件
【发布时间】:2018-11-20 03:25:44
【问题描述】:

如何读取一个文件夹中的多个 csv 文件? 我有一个使用 csvhelper 库将 csv 文件映射到正确格式的程序。这是我的代码:


static void Main()
    {
        var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "test.csv");<br>
        var tempFilePath = Path.GetTempFileName();

        using (var reader = new StreamReader(filePath))
        using (var csvReader = new CsvReader(reader))
        using (var writer = new StreamWriter(tempFilePath))
        using (var csvWriter = new CsvWriter(writer))
        {
            csvReader.Configuration.RegisterClassMap<TestMapOld>();
            csvWriter.Configuration.RegisterClassMap<TestMapNew>();
            csvReader.Configuration.Delimiter = ",";

            var records = csvReader.GetRecords<Test>();

            csvReader.Configuration.PrepareHeaderForMatch = header =>
            {
                var newHeader = Regex.Replace(header, @"\s", string.Empty);
                newHeader = newHeader.Trim();
                newHeader = newHeader.ToLower();

                return newHeader;
            };
            csvWriter.WriteRecords(records);
        }

        File.Delete(filePath);
        File.Move(tempFilePath, filePath);
    }

【问题讨论】:

    标签: c# csv mapping csvhelper


    【解决方案1】:

    由于这是家庭作业(和/或您似乎是编码新手),我会给您一个非常合适的答案,让您在经历许多小时的乐趣和兴奋提供的文档和示例

    你需要

    GetFiles(String, String)

    返回匹配的文件名(包括它们的路径) 指定目录中指定的搜索模式。

    搜索模式

    String 与路径中的文件名匹配的搜索字符串。 此参数可以包含有效的文字路径和 通配符(* 和?)字符,但它不支持常规 表达式。

    foreach, in (C# reference)

    foreach 语句执行一个语句或语句块 对于实现该类型的实例中的每个元素 System.Collections.IEnumerable 或 System.Collections.Generic.IEnumerable 接口。

    我会把细节留给你。

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 2018-01-27
      • 2015-03-29
      • 1970-01-01
      相关资源
      最近更新 更多