C#定时读取指定文件夹里面所有csv里面的数据
时间: 2023-12-07 18:04:40 浏览: 110
使用C#读取CSV文件
在C#中,你可以使用`System.IO`命名空间下的类来定时读取指定文件夹中的所有CSV文件,并读取其内容。以下是一个示例代码:
```csharp
using System;
using System.IO;
using System.Timers;
class Program
{
static void Main(string[] args)
{
string folderPath = @"C:\Path\To\Your\Folder"; // 指定文件夹路径
int interval = 5000; // 定时器触发间隔(毫秒)
Timer timer = new Timer(interval);
timer.Elapsed += (sender, e) => ReadCSVFiles(folderPath);
timer.Start();
Console.WriteLine("Press any key to stop the program...");
Console.ReadKey();
timer.Stop();
}
static void ReadCSVFiles(string folderPath)
{
string[] csvFiles = Directory.GetFiles(folderPath, "*.csv"); // 获取文件夹中所有CSV文件
foreach (string csvFile in csvFiles)
{
// 读取CSV文件的逻辑
Console.WriteLine("Reading file: " + csvFile);
string[] lines = File.ReadAllLines(csvFile); // 读取CSV文件的所有行
foreach (string line in lines)
{
string[] values = line.Split(','); // 假设CSV文件中每一行的数据以逗号分隔
// 处理CSV数据
// 可根据需要对每个单元格的值进行处理或存储到其他数据结构中
// 例如:string cellValue = values[index];
// 输出处理结果
Console.WriteLine("Processed line: " + line);
}
Console.WriteLine("Finished reading file: " + csvFile);
}
}
}
```
上述代码使用了`System.Timers.Timer`类来实现定时触发读取操作。你可以根据自己的需求修改`folderPath`和`interval`变量的值,并在`ReadCSVFiles`方法中实现对CSV文件的读取和处理逻辑。代码中使用`File.ReadAllLines`方法读取CSV文件的所有行,然后使用逗号分隔每行的数据。你可以根据实际情况修改分隔符或使用其他CSV解析库来读取和处理CSV数据。
阅读全文