我正在尝试读取一个大型 csv 数据文件(由 , 分隔),并且我一直卡在如下行:指向原始文件的链接:“ http://daniels-pull.universityofdenv.netdna-cdn.com /assets/GeneralOccurrencesAll.csv "
| RIN | UCR_Group | Loc |
|--------|-----------|---------------------------------------------|
|490658 | Property | 400 BLOCK 17TH ST, 5TH FL |
|506928 | Disorder | 1400 BLOCK W COLORADO AVE, COLORADO SPRINGS |
如您所见,该列中也使用了文件的分隔符。有没有办法将列的分隔符指定为要在文件中读取的正则表达式,还是我需要研究使用 read.fwf 来查找每个字段的最大长度,并使用它解析数据?目前,这是我到目前为止提出的代码:
datafile <- "http://daniels-pull.universityofdenv.netdna-cdn.com/assets/GeneralOccurrencesAll.csv"
new <-readr::read_delim(datafile, sep ='[\\S],[\\S]')
new <-read.table(datafile, sep ='[\\S],[\\S]' )
我应该使用 read.fwf,还是尝试手动拉出问题列?任何帮助,将不胜感激。
编辑:
对于加分点,我真的很想构建一个函数来检测 csv 文件中的坏列,或者看起来可能会弄乱文件结构的数据,例如这种情况。这样,我就不必乱用文本编辑器,并且可以以编程方式在文件中找到这些错误。关于如何构建这样的东西的想法?