我有一个程序,我需要从目录中读取多个.csv文件,从每个文件中获取一些信息,然后创建一个大的.csv文件。但是我在阅读它们时遇到了问题,但不确定原因。我的主要方法中有这段代码:
string sourceDirectory = @"sourceDirectory/test";
var csvFiles = Directory.EnumerateFiles(sourceDirectory, "*.csv", SearchOption.AllDirectories);
foreach (string currentFile in csvFiles)
{
readFile(currentFile);
}
然后我的readFile方法中的以下内容:
public static void readFile(string currentFile)
{
StreamWriter writer = new StreamWriter(@"destinationFile.csv");
StreamReader reader = new StreamReader(currentFile);
while(**){
object[] array;
array = new object[11];
array[0] = info1;
array[1] = info2;
array[2] = info3;
//........
writer.WriteLine(string.Join(", ", array));
}
reader.DiscardBufferedData();
writer.Close();
reader.Close();
没有while循环,它只读取文件的一行,这是不可思议的。我似乎无法理解while循环应该包含什么甚至是什么。如果是.txt文件,我只需要while ((line = reader.ReadLine()) != null)
。我的代码似乎从来没有读过多个来自direcotry的.csv文件,但那里有6个.csv文件。
我真正需要的唯一数据是计算日期之间的某些行(.csv列之一)。