读取缺少逗号的 .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的主要内容,如果未能解决你的问题,请参考以下文章