繁体   English   中英

如何使用csvhelper读取文件夹中的多个csv文件

[英]How to read multiple csv file in a folder using csvhelper

如何读取文件夹中的多个 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);
    }

由于这是家庭作业(和/或您似乎对编码不熟悉),我会给您一个非常合适的答案,当您浏览提供的文档和示例时,它会给您带来许多小时的乐趣和兴奋

你需要

获取文件(字符串,字符串)

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

搜索模式

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

foreach,在(C# 参考)

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

我会把细节留给你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM