2012-06-15 16 views
1

以前我們曾經用以下格式獲取郵件數據;我們不得不從郵件的文本(正文)中提取重要的數據部分,並將其放在表中。從文本到表格的C#.net數據挖掘

type   date    size 

weekly 04/05/2012 16.03.03  388 

我捕獲像這樣 由數組首先值:

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

現在上游已經改變了要發送的數據的多個行。

type   date    size 

weekly 04/05/2012 16.03.03  388 
daily  04/07/2012 17.03.03  14 
weekly 04/08/2012 19.03.03  643 

由於行的數量現在是動態的,請指教至於如何繼續

+0

解析後,你對數據做了什麼? – zmbq

+0

另外,您應該使用具有三個屬性的類 - 類型,日期和大小,而不是字典。 – zmbq

+0

@zmbq我需要捕獲其他東西,如:從電子郵件地址:,:cc:,:sub:和電子郵件的其他部分。除了這些行以外,還有至少20個需要從電子郵件中提取的內容。 – Lordlebu

回答

0

好了,你把那個文件,它分成字段,然後寫出來由|分隔的字段。

在我看來,你需要去在每個輸入行並執行以下操作:

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

寫outputLines到您的平面文件。你不需要字典。

+0

我需要字典來抓取像:電子郵件文件名:,:to:,:cc:以及可以從* .EML文件中提取的其他數據。 好吧,所以猜測我會爲n個行生成n個平面文件條目。 – Lordlebu