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);