从文本文件导入时指定记录结束(EOL)分隔符?

时间:2014-07-02 07:04:30

标签: r

我尝试将大量以管道分隔的文件导入到R中,这些文件是在Windows环境中创建的,其中CR + LF作为记录结束(= EOL)分隔符。但是,它们也会周期性地散布CR,这导致频繁的不适当分割线。理想情况下,想要一种有效的方法从R中解决这个问题 - 或者通过在导入时找到指定EOL定界符的方法,或者,如果需要,通过读取文本文件并在任何解析行完成之前切除CR

文件的创建者对此问题发表评论,并建议添加" TERMSTR = CRLF"在您的SAS代码中,我也可以找到很多关于如何在其他语言中执行此操作的讨论。但是对于R,我能找到的就是这个讨论,在这里讨论stackoverflow:

Possible to change the record delimiter in R?

给出的示例问题非常适合我的问题。所确定的解决方案很适合他们具有这样的单个文件的特定情况,但是对于我来说需要编写单独的脚本来导入每个文件中的每一个,因为每个文件都有不同的主键,需要在事后识别修复不合适的进口。或者,我可以用Notebook ++之类的东西打开每个文件以删除额外的CR,但是这似乎效率很低,然后每次初始数据集由其生产者更新时都必须手动重复。

考虑到这对人们来说问题的频繁程度,以及其他编程语言中硬编码解决方案的存在,我很困惑为什么在R中没有修复并感觉像我一样必须遗漏一些东西。似乎很清楚(我认为?),没有办法直接从read.table或甚至readLines这样做,但有没有办法使用扫描来做到这一点,我错过了?

感谢您的任何想法!

0 个答案:

没有答案