R语言CSV文件读写求助:Excel粘贴数据保存后格式异常
解决Excel粘贴CSV后数字合并为长字符串的问题
嘿,这个问题我之前帮朋友处理过,核心原因大多是CSV文件的分隔符不匹配,或者粘贴过程中数据格式被打乱了,给你几个实用的解决办法:
检查并指定正确的分隔符
从Excel粘贴到CSV时,很多时候数据不是用逗号分隔的,而是制表符(Tab)。这时候你的read.csv默认用逗号分隔,就会把整行当成一个字符串。可以试试指定分隔符为制表符:resids <- read.csv("C:\\Projects\\residuals_Parts3.csv", header=TRUE, sep="\t")或者用默认以制表符为分隔符的
read.delim:resids <- read.delim("C:\\Projects\\residuals_Parts3.csv", header=TRUE)要是打开CSV文件(用记事本就行)发现分隔符是分号,就把
sep设为";"。手动指定列数据类型
有时候即使分隔符对了,R还是会把数字识别成字符串,这时候可以用colClasses参数强制指定列类型:# 假设你有3列数值型数据,就对应写3个"numeric" resids <- read.table("C:\\Projects\\residuals_Parts3.csv", header=TRUE, sep="\t", colClasses=c("numeric", "numeric", "numeric"))从Excel直接导出CSV(最稳妥的办法)
粘贴操作很容易导致格式混乱,不如直接从Excel导出标准CSV:- 打开包含数据的Excel文件,选中需要导出的区域
- 点击「文件」→「另存为」,选择「CSV(逗号分隔)(*.csv)」格式保存
- 再用你原来的
read.csv语句读取,基本就能正常识别数据了
内容的提问来源于stack exchange,提问作者Angus
相关产品推荐
相关产品推荐

