从R中的csv文件中删除多余的行,然后合并csv文件
Posted
技术标签:
【中文标题】从R中的csv文件中删除多余的行,然后合并csv文件【英文标题】:Deleting excess rows from csv files in R and then combining csv files 【发布时间】:2021-12-25 20:21:32 【问题描述】:我有 200 多个 csv 文件,其中包含来自 iButton 数据记录器的温度数据。在 onewireviewer 中创建的 csv 文件有 14 行数据,我需要在所有 csv 文件中删除这些数据(见下图),以便我可以根据列标题合并 csv 文件。
Onewireviewer output csv file
我希望能够以某种方式自动化它,因为我有大约 70 个文件夹(基本上每个位置一个文件夹),每个文件夹中有 2-3 个来自 onewireviewer 的 csv 文件。
我试过弄乱我在网上找到的一些代码,但我什么也做不了,我现在非常沮丧。非常感谢任何和所有帮助!
如果有帮助,我确实尝试运行此处找到的整洁的 verse 代码 Remove certain rows and columns in multiple csv files under the same folder in R,但我收到此错误:
列规范 --------------------------------------------- --------
分隔符:"," chr (1):1-Wire/iButton 部件号:DS1921G-F5
我使用spec()
检索此数据的完整列规范。
i 指定列类型或设置show_col_types = FALSE
以静默此消息。
错误:无法对不存在的列进行子集化。
x 位置 2、3、4、5、6 等不存在。
i 只有 1 列。
运行rlang::last_error()
以查看发生错误的位置。
另外:警告信息:
1:一个或多个解析问题,详见problems()
2:一个或多个解析问题,详见problems()
【问题讨论】:
欢迎;我建议您将其分为两个问题。想出一个成功的脚本来读取一个文件。然后设计对文件夹和文件的读取和合并。人们确实希望您不要放置数据图像,但是一旦您跳过最上面的行,您的图像会使数据看起来很简单。只有三列。 【参考方案1】:试试类似的东西
library(data.table)
rbindlist(lapply(list.files(...), fread, skip = 14, ...), ...)
...
是函数的参数。
查看?list.files
、?data.table::fread
和?data.table::rbindlist
了解更多信息。
【讨论】:
谢谢。这正是我所需要的!以上是关于从R中的csv文件中删除多余的行,然后合并csv文件的主要内容,如果未能解决你的问题,请参考以下文章