识别txt文件特征



我正在尝试开发一种软件,用户将打开一个充满数据的txt文件。
我想读取数据,但我不知道如果文本文件是定界或固定字段,如果是定界,什么是字段分隔符(,或;或/等)或行分隔符(CR+LF或CR或CF等)。
如果我知道所有这些,我就知道如何读取文件,但我能自动找到这些特征吗?由于

你可以做一个很好的猜测:看看文件的灵感

例如:

  1. 读取一个数据块(选择一些足够大的,它应该包含一整行)
  2. 扫描CR, LF,可能的分隔符字符和空白
  3. 是否有CR+LF?他们总是在一起吗?
  4. 找到分隔符了吗?如果你发现不止一个,你能看出什么规律吗?
  5. 您是否发现空格总是在连续的行上的同一列结束?

等。等。

您可以读取文件并做出一些有根据的猜测。

是否有CR/LFs ?

如果没有,很可能是固定长度,谁会指定另一个行分隔符。

如果是,读取所有行并单独计算所有字符的个数。

是否有一个字符在每行出现相同的次数?如果是,它很可能是字段分隔符。如果没有,则可能是固定长度的字段。

如果是固定长度的字段,构建一行统计信息。对于每个字符,所有行中空白的百分比是多少?所有行中非空白的百分比是多少?查找索引从非常高的blank-percentage跳到非常低的blank-percentage的点,这可能是字段边界(最后一个字段以空白结束,因为它不是"完整的",下一个字段以非空白开始,因为它已填充)

最新更新