读取缺少逗号的 .csv 文件。碱基R

Posted

技术标签:

【中文标题】读取缺少逗号的 .csv 文件。碱基R【英文标题】:Read .csv files where commas are missing. Base R 【发布时间】:2022-01-13 12:36:23 【问题描述】:

我正在将 .csv 文件读入 R 中,这些文件是由软件生成的,该软件会为其导出的数据添加额外的标签,而无需在这些额外的标签后面放置逗号。文本文件的简化版本如下图所示。

当我使用 read.csv() 函数导入并查看数据时,我得到以下信息:

然后我尝试了 read.csv2,并编写了一个删除前两行的新文件:

修改为:

这在文本文件中显示为:

这是一项费力的任务,我想知道是否有更有效的方法来整理文件(因为我有很多文件)。

基本上我要做的是创建一个 .csv 文件,当读入 R 时,该文件有两列,第一列标题为“时间 [s]”,第二列标题为“函数”。不遵循标题“x”导出为新的 .csv 文件时用逗号分隔,并且阻止我以我描述的形式将文件读入 R。

数据可以复制和粘贴(我认为),使用:

结构(列表(X.Name。= c(“”,“”,“函数”,“0.00E+00”,“4.00E+00”, "6.50E+00", "7.10E+00", "3.00E+00")), class= "data.frame", row.names = c("Series 1 at Function Used", “[数据]”、“时间 [s]”、“0.00E+00”、“5.00E+00”、“1.00E+01”、“1.50E+01”、 "2.00E+01"))

【问题讨论】:

也许尝试在read_csv()read_csv2() 中使用skip 参数?具体来说,我会尝试skip = 4 @HanselPalencia 实现梦想。非常感谢! 请阅读r 标签页顶部的信息,并注意其中指出输入应以可以使用dput 复制和粘贴的方式显示,而不是图像。 @G.Grothendieck 回复人时不需要大写字母;请像与提问者成人交谈一样回答问题:相互尊重(我们都不是顽皮的孩子!)。但是谢谢你,我没有意识到dput() 是一个东西。对于其他新用户和提问者,this thread 解释了如何使用dput 一个大写的单词在大写字母中没有响应。鉴于此信息位于页面顶部,但即使在累积 25 分之后也没有遵循,因此在我认为这值得强调之前可能已经被告知。我确实花时间提醒您,而不是简单地关闭它。 【参考方案1】:

我认为您面临一个常见的对 read_csv() 的误解,大多数人在开始使用 R 编程时最终都会遇到这种误解。

read 系列函数附带大量参数,确实需要探索它们以了解readr 的范围。

在这个特定的问题中,您的数据标题前有一个非常清晰的 4 行跳转。

您可以在read_csv() 函数中使用skip 参数来跳过4 行。或者,假设您想更改列的名称。您也可以使用 read_csv() 中的不同参数来执行此操作。

如需进一步的建议和功能,请随时 ?read_csv() 查看帮助文件,了解有关该函数不同参数的所有信息。

相对于您必须“读入”的文件数量,我建议您构建自己的函数来自动化该过程。

类似:


read_files <- function(my_file_paths) 

    read_csv(my_file_paths, skip = 4....)
    
    whatever else you want to do.....


【讨论】:

以上是关于读取缺少逗号的 .csv 文件。碱基R的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中提取/读取文件时使用逗号

在西班牙计算机上将 .csv 文件读入 R 时忽略逗号分隔符 [重复]

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

读取包含嵌入逗号的引用字段的 csv 文件

必要时使用正则表达式向 csv 文件添加逗号

读取所有列合并为一个的csv文件:千位逗号问题