私は異なるディレクトリ構造/データを持つ3つの異なるカテゴリ(ファイルA、ファイルB &ファイルC)に属する複数のCSVファイルを私のディレクトリに持っています。私はSmartXLSライブラリを使用してコンソールアプリケーションを作成しています。これは新しいファイル(ファイルZと言う)を読み込み、それが属するカテゴリ(A/B/C)を教えてくれます。C#を使用してファイルリストからCSVファイルを対応するカテゴリに検証する方法は?
ディレクトリから複数のファイルを読み取ることができますが、ファイルを検証するロジックを書き込めません。親切に、これで私を助けてください。
ファイル形式: ファイルA:使用日、製品名、ユーザーID、使用されるトークン。 ファイルB:理由、月、調整日、トランザクションID、調整されたトークン、
製品名、コメントが追加されました。 ファイルC:使用日、製品名、製品バージョン、ユーザーID、マシン名、 サーバー名、使用されたトークン、使用された時間。
機能:
public void ValidateData()
{
int count = 0;
Tokens = new List<Token>();
var files = Directory.EnumerateFiles(@"C:\Projects", "*.csv");
foreach (string file in files)
{
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
{
SmartXLS.WorkBook WB = new WorkBook();
WB.readCSV(file);
DataTable dt = WB.ExportDataTable();
string dtSTR;
DataRow dr;
for (int i = 1; i < dt.Rows.Count; i++)
{
dr = dt.Rows[i];
try
{
dtSTR = dr[0].ToString();
if (string.IsNullOrEmpty(dtSTR)) continue;
var tkn = new Token();
tkn.Usagedate = ParseDateTime(dtSTR);
tkn.Product_name = dr[1].ToString();
tkn.Product_Version = dr[2].ToString();
tkn.Userid = dr[3].ToString();
Tokens.Add(tkn);
count++;
Console.WriteLine("Read : " + count);
Console.WriteLine(" Reading : " + tkn.Usagedate + "," + tkn.Product_name + "," + tkn.Product_Version + "," + tkn.Userid);
}
catch (Exception ex)
{
}
}
}
}
}
_異なる構造の列/データ。 – Sach
私は写真を添付しようとしましたが、何らかの理由で私を許していませんでした。ここで が構造体である: ファイルA:使用日付、製品名、ユーザーID、トークンは ファイルBを使用しました。理由、月、\t調整日付、トランザクションID、調整トークン、\t製品名は、追加 ファイルのコメントC:使用日、製品名、製品バージョン、ユーザーID、マシン名、サーバー名、使用されたトークン、使用された時間。 上記は、3つのファイルの昏睡区切りの列見出しです。@Sach – Rck7
元の投稿をこの情報で更新してください。 – Sach