2012-12-12 43 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#版本将会很棒

相关问题