在引号之间将csv列导入为整数

Posted

技术标签:

【中文标题】在引号之间将csv列导入为整数【英文标题】:Import csv column as integer when between quotation marks 【发布时间】:2015-05-21 19:29:27 【问题描述】:

我是(非常)R 新手,我正在尝试自学,但我找不到答案,或者至少找不到最佳答案!

我有一个包含如下行的 CSV: "123112300500","A","395"

如您所见,第一列和最后一列是整数,但它们在引号内。我不想预处理我的输入(因为我认为 R 可以处理这个),我尝试像这样导入 csv:

set

但它不会工作,因为它不需要引号!

目前我的解决方案是 set$V1

如何使用 read.csv 导入标记之间带有整数(或浮点数,或其他所有值)的值?

提前感谢任何人:)

【问题讨论】:

【参考方案1】:

您确定该列中的所有值都是数字吗? type.convert 似乎可以很好地处理引用的数字...

a <- '"a", "b", "1", "2"
      "c", "d", "3", "4"'
df <- read.csv(text=a, stringsAsFactors=F, header=F)
> str(df)
'data.frame':   2 obs. of  4 variables:
 $ V1: chr  "a" "      c"
 $ V2: chr  " b" " d"
 $ V3: int  1 3
 $ V4: int  2 4

【讨论】:

我能够在加载 .csv 时重现 OP 的问题。你是对的,在你上面的例子中 type.convert 的行为,但我认为这不会解决 OP 的问题。

以上是关于在引号之间将csv列导入为整数的主要内容,如果未能解决你的问题,请参考以下文章

通过 sql developer 导入 csv 时,单引号被转换为 2 个单引号

通过导入数据向导将引号转义的 CSV 导入 SQL Server 到所有 nvarchar 列

正则表达式将引号添加到不带引号的 CSV 列

C#导入csv文件,数据中有逗号怎么处理

hive导入csv文件,字段中双引号内有逗号

将带逗号的双引号作为分隔符从 S3 导入 Amazon Redshift