新手求助:如何在R中打开并查看大.ttl文件内容?
在R中打开并查看大TTL文件的实用方案
一、先按纯文本直接读取(最快预览方式)
TTL本质是纯文本格式的RDF文件,大文件别硬读全量,先分段预览:
- 用基础R的
readLines()先看前N行:
# 读前100行预览 ttl_preview <- readLines("你的文件路径.ttl", n = 100) print(ttl_preview) # 要读全量的话,用连接对象更省内存 con <- file("你的文件路径.ttl", "r") ttl_all <- readLines(con) close(con) # 转成本地文本文件方便查看 writeLines(ttl_all, "ttl纯文本备份.txt")
- 大文件推荐用
data.table的fread(),速度更快:
library(data.table) ttl_dt <- fread("你的文件路径.ttl", sep = NULL, header = FALSE) # 直接打印查看 print(ttl_dt)
二、修正redland包的使用方式(避免HTML输出)
你之前用redland出HTML,应该是调用了错误的输出函数,正确解析TTL的步骤:
library(redland) # 初始化环境 world <- new("World") storage <- new("Storage", world, "hashes", name="", options="hash-type='memory'") model <- new("Model", world, storage, options="") # 加载TTL文件 parser <- new("Parser", world, name="turtle") parseFileIntoModel(world, parser, model, "你的文件路径.ttl") # 遍历打印三元组(纯文本格式) iter <- new("Iterator", world, model) while(!endIterator(iter)) { stmt <- nextStatement(iter) print(stmt) } # 或者转成数据框,更易读 triples_df <- as.data.frame(model) print(triples_df)
三、换用维护活跃的rdflib包
rrdf停更了,rdflib是目前更靠谱的RDF处理包,支持TTL:
library(rdflib) # 读取TTL文件 rdf_data <- rdf_parse("你的文件路径.ttl", format = "turtle") # 转成数据框查看 rdf_df <- rdf_as_data_frame(rdf_data) print(rdf_df) # 要是只想看原始文本,直接读就行 ttl_raw <- readLines("你的文件路径.ttl") cat(paste(ttl_raw, collapse = "\n"))
内容的提问来源于stack exchange,提问作者Luca Biserna
相关产品推荐
相关产品推荐

