这可能是一个非常基本的问题,因此我事先表示歉意。我正在尝试读取包含几列股票信息的csv文件。这些列之一包含一个标识符(唯一代码,名为“ CUSIP”),该标识符由数字和字母组成(例如L8681T102)。其中一些代码还包含字母“ E”(例如75062E10),当我读取csv文件时,此代码显示为“ 7.51E + 110”,而不是原始代码。
我尝试使用ColClasses来指定该列为字符,但它不起作用。
答案 0 :(得分:2)
使用read.table
和colClasses
可以正常工作,无需开始使用其他软件包:
> read.table(text = "x,y,z\n1,2,75062E10",sep = ",",header = TRUE)
x y z
1 1 2 7.5062e+14
> read.table(text = "x,y,z\n1,2,75062E10",sep = ",",header = TRUE,colClasses = c(NA,NA,"character"))
x y z
1 1 2 75062E10
答案 1 :(得分:0)
您可以改用read_csv尝试获取标题,并通过以下方式指定每一列。我发现小标题更易于管理和处理,它的创建比数据帧需要更多的时间,但是通常我从不创建小标题,总是将它们读为csv。
library(tidyverse)
read_csv("filename", col_types = cols(
name= col_character(),
numberwith.00= col_double(),
time= col_datetime(format = "")
))