r - R-从 PurpleAir 传感器读取 csv 文件并跳过某些行末尾包含非标准字符的错误位置
问题描述
我有许多 PurpleAir 传感器,它们每天将一个 .csv 文件保存到 SD 卡中,并将日期用作文件名。我正在尝试从每个每日 .csv 文件中提取和组合数据。
由于某种原因,某些行的最后一个单元格中的数据后跟 3 个非标准字符,并以这种方式出现在 .csv 文件中:0.46 字符的屏幕截图,因为它们没有显示为文本
read.csv("filepath") - 正确读取标题行和所有行,直到这些非标准字符第一次出现,然后不加载剩余数据。如果错误出现在前几行,则函数会给出以下错误:
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on '20200825.csv'
手动打开文件并删除这些额外的字符允许 R 正确读取这些字符出现的下一行(这些字符出现在看似随机的行中,但总是在行尾/在最后一个单元格中)。
我不需要最后一列的数据,所以有没有办法告诉函数忽略最后一列而只读取第一列?
我已经尝试了多个线程的一些建议,但到目前为止无法解决问题。手动打开文件并删除字符不是一个选项,因为我有很多文件。
(值得注意的是,尝试使用 readLines 作为文本读入并修复字符只会导致函数在遇到与 read.csv 相同的这些字符时结束)
非常感谢任何支持!
解决方案
Sys.setlocale("LC_ALL", "C")
在读取 csv 文件之前尝试此命令。我有一个类似的文件,它通过更改语言环境来工作。如果它不起作用,您可以尝试更改为其他语言环境。
推荐阅读
- python - 调用更新函数时,Python Bokeh 图显示两条线
- html - 从 scss 文件中获取值
- react-native - react-native 如何在多个项目之间共享代码?
- android - 网格布局不显示
- blockchain - _ 语句的 Solidity Point
- java - Proof that old Date Java API is not thread safe
- powershell - Conditional criteria in powershell group measure-object?
- angular - My custom validator is not working, reactive forms Angular 6
- beautifulsoup - print() not working in Python shell?
- javascript - jQuery.signature works fine until scrolling and then