首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据文本文件每行中的列号从文本文件中读取数据

根据文本文件每行中的列号从文本文件中读取数据
EN

Stack Overflow用户
提问于 2014-02-12 15:40:49
回答 1查看 583关注 0票数 0

我正在从客户端获取一个文本文件,该文件有多行,每行可以属于一个组。每组都有特定的数据格式。每种数据格式定义将在行中的特定位置出现的字段。我需要重新格式化数据并向每行添加详细信息。

例如,有3个组GroupAGroupBGroupC,每个组的格式由行号指定。

我会事先知道GroupA的ID是1-5,然后是空格6-8,日期是9-15,空格是16-18,组标识符是19 (如A/B/C),后面是空格和组特定数据。

文本文件格式:

代码语言:javascript
复制
1234G   21122013   A   12.34INR   160EUR   -12.90Adj

1254G   21122011   B   12.34Adj   22122011   160EUR   -12.90Adj

1264G   21122012   A   12.34INR   160EUR   -12.90Adj

1274G   20122013   C   FEECredit   12.34INR   -12.90Adj   160EUR   ABCDXYZ   AAA

因此,通过读取每行的第19位,我可以识别该组,然后根据该组的字段结构处理该行。

阅读这篇文章的最好方法是什么?目前,我正在考虑将信息存储在XML中,它将具有每个组的字段起始位置和字段长度。读取每一行,我需要识别组,然后选择正确的XML和在XML中指定的read字段。

任何帮助都将不胜感激,提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-02-12 15:55:30

我将使用的一种非XML方法是,首先将所有行读入一个List<string>,然后逐个处理这些行。通过在空格中拆分每一行,您将使所有标识符(A/B/C)在一个数组中的相同索引中。检查此标识符,并相应地处理该行的其余部分。下面是一个简短的例子:

代码语言:javascript
复制
private void ProcessLines(List<string> lines)
{
    // lines holds the previously read lines from the textfile
    foreach (string line in lines)
    {
        string[] parts = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        if (parts[2] == "A")
        {
            // code to process a line of code in Group A, etc.
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21721599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档