我正在尝试开发一个软件,用户将在其中打开一个填充数据的 txt 文件。
我想读取数据,但我不知道 txt 文件是分隔字段还是固定字段,如果是分隔字段分隔符(, 或 ; 或 / 等)或行分隔符(CR+LF 或 CR 或 CF ETC)。
如果我知道所有这些,我就知道如何读取文件,但是我可以自动找出这些特征吗?谢谢
问问题
83 次
2 回答
1
您可以做出一个很好的猜测:查看文件以获取灵感。
例如:
- 读取一大块数据(选择一些足够大的数据,它应该包含一整行)
- 扫描 CR、LF、可能的分隔符和空格
- 它有 CR+LF 吗?他们一直在一起吗?
- 你找到任何分隔符了吗?如果你发现不止一个,你能看到任何模式吗?
- 您是否发现空格的运行总是在连续行的同一列结束?
等等等等
于 2013-05-15T14:46:59.650 回答
0
您可以阅读该文件并做出一些有根据的猜测。
有 CR/LF 吗?
如果不是,它很可能是固定长度,谁会指定另一个行分隔符。
如果是这样,请阅读所有行并单独计算所有字符的数量。
是否有一个字符在每一行出现相同的次数?如果是这样,它可能是字段分隔符。如果不是,它可能是固定长度的字段。
如果它是固定长度的字段,则使用统计信息构建一行。对于每个字符,所有行中的空白百分比和所有行中的非空白百分比是多少?找到索引从非常高的空白百分比跳到非常低的空白百分比的点,这很可能是一个字段边界(最后一个字段以空白结尾,因为它不是“完整的”,下一个以非空白,因为它已填充。)
于 2013-05-15T14:48:22.460 回答