【发布时间】:2020-10-10 17:37:49
【问题描述】:
我有一个巨大的 (39 GB) 文本文件,我最终需要将它作为管道分隔文件读入 R。但是,有很多 NUL 字符 \0 无法在 R 中读取。我正在尝试预先在 PowerShell 中替换它们。
PowerShell 代码:
Get-Content file.txt | foreach { $_ -replace '\\0' } | Out-File -Encoding UTF8 file_NEW.txt
我认为这可行,但是当我尝试在 R 中读取新文件时,\0 字符出现在字符串中,我收到此错误:
Error in vroom_(file, delim = delim %||% col_types$delim, col_names = col_names, :
embedded nul in string: '||MORALES BELINDA F TRUST||\0||\0|0||PT||||33.824049|-118.192053||3655||N|WESTON|PL|||LONG BEACH|CA|908073855|C033||3655||N|WESTON|PL|||LONG BEACH|CA|908073855|C033|20111117|988||||||||20111027|20111110|TR|2|1527575||KINECTA FCU|KINECTA FCU|||MANHATTAN BEACH|CA|90266|047978|LAWYERS TITLE|03003|232000.00|20111027||CNV|TR|Y|10|20211201|||D|BGJT|V||115|21||0|0||0|||||Y|Y||\r\n06037|5054001029|5054-001-029|1|\0||BONILLA ...
为什么文件中还有 NUL?任何帮助表示赞赏!特别是因为这些功能需要很长时间才能运行。拜托,我只是想阅读这个巨大的文件。
以防万一 R 代码出现错误,请注意它直接取自 this post,使用 vroom 和 arrow 包读取然后创建拼花文件。
【问题讨论】:
-
PoSh 没有将
\0视为$Null。特殊字符是“反引号”和“0”。 -
@Lee_Dailey 是的,但
-replace需要一个正则表达式,并且在那里使用了反斜杠。 -
@vonPryz - 尝试用双引号中的反引号零。 [咧嘴]
标签: r powershell