r - 如何读取分隔符“|” R外部csv文件中的垂直线
问题描述
在 R 中,如何读取分隔符或将分隔符转换为“|” 垂直线(ASCII:||)。我需要拆分文件中的整数,所以 strsplit() 对我没有帮助。
我有读取 csv 文件的 R 代码,但它仍然保留垂直线“|” 特点。该文件的分隔符为“|” 场之间。当我尝试使用 read.table() 阅读时,我得到逗号,“,”分隔每个单独的字符。我还尝试在 R 中使用 dplyr for tab_spanner_delim(delim = "|") 来转换 read.delim("file.csv", sep="|") 读取文件后的垂直线,即使是这个 read.delmin( ) 不起作用。我是特殊字符 R 编程的新手。
read.table(text = gsub("|", ",", readLines("file.csv")))
dat_csv <- read.delim("file.csv", sep="|")
x <- cat_csv %>% tab_spanner_delim(delim = "|")
dput() from read.table(text = gsub("|", ",", readLines("file.csv")))
",\",R,D,|,I,|,7,8,|,0,1,0,|,0,0,1,2,|,8,8,1,0,1,|,1,|,7,|,1,0,5,|,1,1,6,|,1,9,9,9,1,2,2,0,|,0,0,:,0,0,|,|,A,M,|,6,|,|,|,|,|,|,|,|,|,|,|,|,|,\",",
",\",R,D,|,I,|,7,8,|,0,1,0,|,0,0,1,2,|,8,8,1,0,1,|,1,|,7,|,1,0,5,|,1,1,6,|,1,9,9,9,1,2,2,6,|,0,0,:,0,0,|,4,.,9,|,|,6,|,|,|,|,|,|,|,|,|,|,|,|,|,\","
dput() 来自 dat_csv <- read.delim("file.csv", sep="|")
"RD|I|78|010|0012|88101|1|7|105|116|19991220|00:00||AM|6|||||||||||||",
"RD|I|78|010|0012|88101|1|7|105|116|19991226|00:00|4.9||6|||||||||||||"
输入(dat_csv)
"RD|I|78|010|0012|88101|1|7|105|116|19991220|00:00||AM|6|||||||||||||",
"RD|I|78|010|0012|88101|1|7|105|116|19991226|00:00|4.9||6|||||||||||||"
解决方案
我们可以使用 逐行读取数据readLines
。使用 删除每行末尾不需要的字符,trimws
将字符串粘贴到一个以换行符 ( \n
) 字符作为collapse
参数的字符串中,然后使用该字符串read.table
读取数据作为数据框。
data <- read.table(text = paste0(trimws(readLines('file.csv'),
whitespace = '[", ]'), collapse = '\n'), sep = '|')
推荐阅读
- amazon-web-services - AWS Data Pipeline 中 EC2 资源的 AWS IAM 设置
- git - 推入空的 git repo 时“无法推送引用”
- css - Razor 类库中的 Blazor 组件(CSS 隔离)
- c++ - 在表1 Sqlit下附上table2
- mongodb - 查找部署了我的 MongoDB 的服务器的 IP 地址
- flutter - 来回动画不能在颤动中工作
- asp.net - Bootstrap手风琴组需要在回发后保持折叠状态
- windows - 目录基础交换 (Cr3) 和 Windows 内核
- sql - 创建一个函数在 SQL 中生成随机密码
- express - 使用快速车把时如何修复“必需”属性?