read_tsv档位:这是编码问题吗?

时间:2019-08-11 21:56:55

标签: r encoding readr

由于这篇文章缺乏具体性,我事先表示歉意,但在这种情况下,我无法提供可复制的示例。我正在尝试使用R读取器的read_tsv读取制表符分隔的数据文件。数据来自机密来源,因此即使有问题的部分也无法共享。 read_tsv停滞了大约20%的阅读进度,除非我迅速杀死R,否则我的RAM使用率开始爆炸直至计算机死机(我使用的是Ubuntu 18.04)。具体来说,我正在跑步:

read_tsv(file = path_to_file, 
         skip = 10e6, 
         n_max = 1e5)

我跳过行并设置n_max以模糊地找出问题所在并运行更快的测试。我还尝试将read_tsv的语言环境设置为locale(encoding = 'latin1'),但没有成功。我尝试通过使用读者的read_lines来阅读来检查这个有问题的部分:

read_lines(file = path_to_file, 
           skip = 10e6, 
           n_max = 1e5)

那里没有阅读问题:我正在获取一个字符串列表。我对所有这些文件都运行了validUTF8,它们似乎都有效。我只是不知道什么类型的问题可能导致read_tsv停顿。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。似乎是由于使用默认的read_tsv quote选项对引号引起的不当处理。相反,使用quotes = ""使其工作顺利。