C# 从文本到表的C.net数据挖掘

C# 从文本到表的C.net数据挖掘,c#,.net,regex,database,string,C#,.net,Regex,Database,String,以前,我们使用以下格式获取邮件数据:;我们必须从邮件正文中提取重要的数据部分,并将其放在一个表中 type date size type date size 我像这样捕捉价值 首先通过数组: string[] orderOfValues = new string[3]; orderOfValues[0] = "TYPE"; orderOfValues[1] = "DATE"; orderOfValue

以前,我们使用以下格式获取邮件数据:;我们必须从邮件正文中提取重要的数据部分,并将其放在一个表中

 type         date               size
 type         date               size
我像这样捕捉价值 首先通过数组:

string[] orderOfValues = new string[3];
orderOfValues[0] = "TYPE";
orderOfValues[1] = "DATE";
orderOfValues[2] = "SIZE";
然后在字典里

sdValues = new StringDictionary();
然后通过拆分提取字段

sdValues.Add("TYPE", field1);
sdValues.Add("DATE", field2);
sdValues.Add("SIZE", field3);
现在上游已经更改了数据以发送多行


由于行数现在是动态的,请建议如何继续

好的,因此您将该文件分成多个字段,然后写出以|分隔的字段

在我看来,您需要检查每个输入行并执行以下操作:

String[] parts = inputLine.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
String outputLine = String.Join("|", parts);

将输出行写入平面文件。您不需要字典。

解析数据后如何处理数据?此外,您应该使用一个具有三个属性的类-类型、日期和大小,而不是字典。@zmbq我需要捕获其他内容,如:来自电子邮件地址:,:cc:,:sub:和电子邮件的其他部分。除了这些行之外,至少有20件事情需要从电子邮件中检索。哦,好的。但是,在解析信息之后,您会如何处理它呢?在不知道您想要完成什么的情况下回答您的问题是不可能的。我使用foreach字符串keyVal的顺序是value{filecontent+=sdValues[keyVal]+|}将字典的全部内容放在一个平面文件中,然后通过ETL加载到Terradata。我需要字典来获取诸如:电子邮件文件名:,:收件人:,:抄送:,以及其他可以从*.EML文件中提取的数据。好的,我想我将为n行生成n个平面文件条目。
weekly    04/05/2012 16.03.03     388
daily     04/07/2012 17.03.03     14
weekly    04/08/2012 19.03.03     643
String[] parts = inputLine.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
String outputLine = String.Join("|", parts);