【发布时间】:2013-09-30 21:18:03
【问题描述】:
我正在尝试从 R 读取一个巨大的 csv 文件,但我遇到了麻烦,因为假定为字符串格式的列的元素没有用引号分隔,并且每次都在那里创建一个新行是一条新线。我的数据由 ~ 分隔。
例如,我的数据看起来类似于:
a ~ b ~ c ~ d ~ e
1 ~ name1 ~ This is a paragraph.
This is a second paragraph.
~ num1 ~ num2 ~
2 ~ name2 ~ This is an new set of paragraph.
~ num1 ~ num2 ~
我希望得到这样的东西:
一个 |乙 | c | d |电子| ____________________________________________________________________________________ 1 |名称1 |这是一个段落。这是第二段。 |数字1 |数字2 | 2 |名称2 |这是一套新的段落。 |数字1 |数字2 |但我最终得到了像这样丑陋的东西:
一个 |乙 | c | d |电子| __________________________________________________________________________________ 1 |名称1 |这是一个段落。 | | | 这是第二段| | | | | |数字1 | num2 2 |名称2 |这是一套新的段落。 |数字1 |数字2 |我试图在 read.csv 中设置 allowEscapes = TRUE 但这并没有奏效。我的输入目前如下所示:
read.csv(filename, header = T, sep = '~', stringAsFactors = F, fileEncoding = "latin1", quote = "", strip.white = TRUE)
我的下一个想法是在每个~之后插入一个引号,但我希望看看是否有更好的方法。
任何帮助将不胜感激。
【问题讨论】:
-
欢迎来到 SO。请提供样本数据
-
每一行都以
~结尾,对吗? -
@Metrics:我无法真正提供示例数据,因为 1)它又大又乱,2)我是通过主管的数据库获取的,无法真正复制和粘贴数据。但是这个例子应该接近数据
-
@zero323:是的,每一行都以~结尾