如何读取带有特殊分隔符和回车符的txt文件?

时间:2020-06-11 09:34:28

标签: r

在r中导入txt文件时,我只有一行包含所有值,而没有两行。我认为问题是此#@#@#。您能帮我解决问题吗?

文件示例:

A'〜'40337463'〜''〜'1403289'〜'4620851'〜'21'〜''〜'STDLONG'〜'A-'〜'A-'〜'2020-06-08 15: 05:59'〜''〜''〜''〜''〜''〜''〜''〜'EU'〜''〜'新评分'〜''〜''〜'2023- 06-28 00:00:00'〜''〜''〜'〜'DE000A254Z26#@#@#A'〜'40337464'〜''〜'1403282'〜'4620842'〜'21'〜''〜'STDLONG '〜'BBB +'〜'BBB +'〜'2020-06-08 15:11:49'〜''〜''〜''〜''〜''〜''〜''〜''〜'EE' 〜''〜'新评分'〜''〜''〜'2030-12-31 00:00:00'〜''〜''〜'〜'US776743AJ55#@#@#

dd <- data.table::fread("200610-204642spRatingDataNoCUSIP.txt", sep = "~", header = F)

输出:

enter image description here

1 个答案:

答案 0 :(得分:2)

一种基本方法是编辑.txt文件,并用换行符替换那些#@#@#

使用readrstringr的另一种方法:

df <- read_lines("test.csv") %>%
  str_split("#@#@#", simplify=TRUE) %>%
  read_delim(delim="~", col_names=FALSE) %>%
  mutate(across(everything(), str_remove_all, pattern="'"))

我将文件命名为test.csv,并相应地对其进行了更改。从某种意义上说,我不确定这是否适用于大文件,但是您可以尝试一下。

相关问题