2012-12-12 37 views
2

我正在編寫一個程序,用於分析幾個需要分欄的分隔平面文件。我不確定在將來如何更改輸入平面文件的格式時,使代碼易於維護/更新的最佳方式。存儲分隔文本文件模式的最佳做法

目前,我有一組形式不變的int(還有更多的這些):

NameListFirstNameCol = 0; 
NameListLastNameCol = 1; 
NameListAgeCol = 2; 
ClassListRoomNumCol = 0; 
ClassListRoomNameCol = 1; 

除了作爲分隔符如常量:

NameListDelim = ','; 
ClassListDelim = '\t'; 

我想看看是否有人有更好的方式來跟蹤這類信息的建議。 (我可以假設我需要的列將始終在輸入中,但輸入的創建者可能會更改分隔符,添加新列或重新排列列)。這是一個數據分析腳本,它會看到一些重用,但不是主要的生產軟件。

+0

'Xml','Json'? –

+1

我喜歡在評論中保留示例輸入以便於驗證 –

回答

0

首先,您必須創建一個列表,其中包含文件中的字段名稱和相應的索引。

例如,字典< string,int>用於保存您可以從文件的第一行讀取的名稱。有了列名和相應的索引列表,您可以使用string.Split僅使用您需要的索引來解析以下行。

此外,您還必須存儲結構所需列的列表。爲了便於維護,您可以將其保存爲單獨的.cs文件中的單獨的類。

0

我寫了一個名爲JRecordBind的庫,它描述了使用XML Schema的平面文件的結構。見one of the examples

不幸的是它是用Java編寫的。你可以考慮移植它。擁有C#版本將會很棒

相關問題