提问人:Darth Ratus 提问时间:8/12/2023 最后编辑:Darth Ratus 更新时间:8/14/2023 访问量:42
R 中的 readLines 未读取完整的文本文件
readLines in R is not reading complete text file
问:
我在读取从控制台中运行的 Android Top 命令行导出输出时创建的文本文件时遇到问题。
我用来读取文件的脚本非常简单:
file_to_read <- paste(folder,file,sep="/")
myfile <- readLines(file_to_read)
writeLines(myfile, paste(folder,(paste((paste("Read_File_", 1, sep="")),".txt", sep="")), sep="/"), useBytes = FALSE)
我正在保存使用不同名称读取的文件,当我比较两者时,我发现“Read_File”只是原始文件的一部分。我已经尝试过对捕获的许多文件进行此操作,大多数文件都显示相同的内容,只是部分读取。
现在,检查原始文件,在导出过程中添加了一堆额外的字符(是的,这是我的错误,我已经纠正了这个问题)。这些是与命令窗口中的颜色和其他内容相关的 ANSI 字符。
我注意到的一件事是,当以下字符出现在原始文件中时,[0mã«,这是readlines将导入的范围内,所以我认为这些组合是某种中断或EOF,或者告诉R停止导入或没有更多可读取的东西。
我所拥有的重现问题的文本文件中的最小部分被添加到问题的末尾。
我也尝试过使用 read.table 导入文件,但这也失败了,我只得到了部分导入。
我真的不知道这些额外的角色是什么。我所知道的一件事是,这些字符 [0mà 没有<<不会导致问题,所以不知何故,整个组合都是问题所在。
小费不胜感激。
有问题的文本部分(类似于其他文件):
610 media -2 -2 22M 3.3M 3.0M S 12.5 0.2 317:13.30 vpud -f
417 system -3 -8 72M 6.4M 5.1M S 9.3 0.3 215:31.44 surfaceflinger
[?25h[0m[1000;1H[K [0më
~[----------
[s[999C[999B[6n[u[H[J[?25l[H[J[s[999C[999B[6n[uTasks: 288 total, 2 running, 286 sleeping, 0 stopped, 0 zombie
Mem: 1702176K total, 1658740K used, 44478464 free, 20733952 buffers
Swap: 425540K total, 414648K used, 11153408 free, 399640K cached
400%cpu 75%user 0%nice 75%sys 247%idle 0%iow 0%irq 3%sirq 0%host
答: 暂无答案
评论
encoding = ...
readLines
encoding = 'UTF-8'
encoding
readLines
encoding = 'ANSI'
Read_File
Read_File
i