C# 如何使用csvhelper读取文件夹中的多个csv文件
如何读取文件夹中的多个csv文件? 我有一个程序,可以使用csvhelper库将csv文件映射为正确的格式。这是我的代码:C# 如何使用csvhelper读取文件夹中的多个csv文件,c#,csv,mapping,csvhelper,C#,Csv,Mapping,Csvhelper,如何读取文件夹中的多个csv文件? 我有一个程序,可以使用csvhelper库将csv文件映射为正确的格式。这是我的代码: static void Main() { var filePath=Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),“test.csv”); var tempFilePath=Path.GetTempFileName(); 使用(var reader=newstreamr
static void Main()
{
var filePath=Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop),“test.csv”);
var tempFilePath=Path.GetTempFileName();
使用(var reader=newstreamreader(filePath))
使用(var csvReader=新csvReader(读卡器))
使用(var writer=newstreamwriter(tempFilePath))
使用(var csvWriter=新的csvWriter(writer))
{
csvReader.Configuration.RegisterClassMap();
csvWriter.Configuration.RegisterClassMap();
csvReader.Configuration.Delimiter=“,”;
var records=csvReader.GetRecords();
csvReader.Configuration.prepareHeadePerformatch=标题=>
{
var newHeader=Regex.Replace(header,@“\s”,string.Empty);
newHeader=newHeader.Trim();
newHeader=newHeader.ToLower();
返回newHeader;
};
CSV编写者编写记录(记录);
}
File.Delete(文件路径);
Move(tempFilePath,filePath);
}
由于这是一项家庭作业(和/或您似乎对编码不太熟悉),我将给您一个非常合适的答案,在您阅读提供的文档和示例时,它将带给您许多小时的乐趣和兴奋
你需要
返回与文件名匹配的文件名(包括其路径)
指定目录中的指定搜索模式
搜索模式
字符串搜索字符串以与路径中的文件名匹配。
此参数可以包含有效的文字路径和
通配符(*和?)字符,但不支持正则
表情
foreach语句执行一条语句或语句块
对于实现
System.Collections.IEnumerable或
System.Collections.Generic.IEnumerable接口
细节由你决定
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);
}