从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文件的主要内容,如果未能解决你的问题,请参考以下文章

从 csv 文件中读取,并删除任何只有“”的行

从 CSV 文件中挖掘 R 文本文档(每个文档一行)

如何从 .CSV 文件中删除不合适的行并使用 C# 再次保存该文件?

试图读取存储在csv文件中的R中的推文

从R中的大型.CSV导入和提取随机样本

使用r自动选择.csv文件中的行和列