在R中导入格式特殊的文本文件
解决特殊格式文本导入R的方案
直接上实操步骤,按以下代码处理你的数据:
- 读取文件行
先把整个文本文件按行读入R:
# 替换成你的文件实际路径,比如 "./Data" raw_lines <- readLines("你的文件路径/Data")
- 处理第一个变量(epochNums)
第一行是空格分隔的数值,直接分割转成数值向量:
epochNums <- as.numeric(strsplit(raw_lines[1], "\\s+")[[1]])
- 处理第二个变量(epochDates)
第二行是引号包裹的日期字符串,用正则提取所有带引号的内容,再去掉引号:
# 匹配所有被双引号包裹的内容 date_matches <- regmatches(raw_lines[2], gregexpr('"[^"]+"', raw_lines[2]))[[1]] # 去掉首尾的双引号 epochDates <- gsub('^"|"$', '', date_matches)
- 处理第三个变量(epochDays)
和第一个变量逻辑一致,分割转数值:
epochDays <- as.numeric(strsplit(raw_lines[3], "\\s+")[[1]])
- 合并成数据框
把三个向量组合成数据框,确保观测值一一对应:
final_df <- data.frame( epochNums = epochNums, epochDates = epochDates, epochDays = epochDays )
验证结果
运行head(final_df)查看前几行数据,确认三个变量的第N个值是否对应正确。如果出现长度不一致的情况,检查原文件里三个变量的条目数是否真的一致,可能需要微调分割逻辑(比如处理原文件里多余的空格或引号)。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

