检测 CSV 文件中的记录/行分隔符

Detect record/row separator in a CSV file

本文关键字:分隔符 记录 CSV 文件 检测      更新时间:2023-10-16

如何以编程方式检测CSV文件中使用的记录/行分隔符。在90%的情况下,它是CR/LF对,但有时它是CR或LF。

它还应该考虑到带引号的数据字段中的换行可能与行/记录分隔符不同。

我该怎么做?

更新:我只对什么是行/记录分隔符感兴趣:CR/LF、CR 或 LF。

当您在文本模式下打开带有iostreams的文件时,该库将处理Linux,Windows或MacOS上的不同行尾。

可以通过计算未转义的引号来检测引用数据字段中的换行符。如果数字为奇数,则可能有一个未终止的数据字段,因此嵌入了一个换行符。

当您想知道使用哪个行分隔符时,只需按字符读取,直到获得 CR 或 LF。如果是 LF,你就完成了;如果是 CR,请阅读下一个字符。如果下一个字符是 LF,则您的行尾是 CR LF,否则它只是 CR。