gpt4 book ai didi

r - 读取值跨越多行的键值对的最有效方法?

转载 作者:行者123 更新时间:2023-12-04 11:22:51 26 4
gpt4 key购买 nike

将文本文件(例如下面的示例)解析为两列的最快方法是什么data.frame然后将其转换为宽格式?

FN Thomson Reuters Web of Science™
VR 1.0
PT J
AU Panseri, Sara
Chiesa, Luca Maria
Brizzolari, Andrea
Santaniello, Enzo
Passero, Elena
Biondi, Pier Antonio
TI Improved determination of malonaldehyde by high-performance liquid
chromatography with UV detection as 2,3-diaminonaphthalene derivative
SO JOURNAL OF CHROMATOGRAPHY B-ANALYTICAL TECHNOLOGIES IN THE BIOMEDICAL
AND LIFE SCIENCES
VL 976
BP 91
EP 95
DI 10.1016/j.jchromb.2014.11.017
PD JAN 22 2015
PY 2015

使用 readLines是有问题的,因为多行字段没有键。阅读为固定宽度的表格也不起作用。建议?如果不是多行问题,这可以通过一个对每一行/记录进行操作的函数轻松完成,如下所示:
x <- "FN Thomson Reuters Web of Science"
re <- "^([^\\s]+)\\s*(.*)$"
key <- sub(re, "\\1", x, perl=TRUE)
value <- sub(re, "\\2", x, perl=TRUE)
data.frame(key, value)
key value
1 FN Thomson Reuters Web of Science

注意:字段将始终为大写和两个字符。整个标题和作者列表可以连接到一个单元格中。

最佳答案

这应该有效:

library(zoo)

x <- read.fwf(file="tempSO.txt",widths=c(2,500),as.is=TRUE)

x$V1[x$V1==" "] <- NA
x$V1 <- na.locf(x$V1)

res <- aggregate(V2 ~ V1, data = x, FUN = paste, collapse = "")

关于r - 读取值跨越多行的键值对的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com