用户登录
用户注册

分享至

R语言读取csv文件出错的解决方案

  • 作者: 被动熊大
  • 来源: 51数据库
  • 2021-09-02

今天在用r语言读取.csv文件的时候报错

error in make.names(col.names, unique = true) : invalid multibyte string 5

上网查了很久才知道原来是格式的问题(保存文件格式的编码不正确)

重新保存正确的格式就没有问题了~

补充:r语言读取csv文件,第一列列名出现乱码的解决方法

在利用r语言读取csv文件时,第一列列名总是出现乱码,代码如下:

setwd(“e:\2.model\4. simulation”) #设定文件路径
all.soils = read.table(“1. soil.csv”,sep=",",header=t) #读取文件
xx<-colnames(all.soils)#获取文件中的列名
xx

结果如下:

[1] “锘緾lass” “fid” “bd1” “bd2” “bd3”
[6] “bd4” “bd5” “airdry1” “airdry2” “airdry3”
[11] “airdry4” “airdry5” “ll15_1” “ll15_2” “ll15_3”
[16] “ll15_4” “ll15_5” “cll1” “cll2” “cll3”
[21] “cll4” “cll5” “dul1” “dul2” “dul3”
[26] “dul4” “dul5” “sat1” “sat2” “sat3”
[31] “sat4” “sat5”

后来找到了原因,是因为将excel文件另存为csv文件造成的。

应该在excl中按照如下操作完成:

第一步:

点击“file”,即“文件”;

第二步:

点击“export”,即“导出”;

第三步:

点击“change file type”,即“改变文件格式”,选择"csv",进行导出即可;

之后再次运行代码,乱码不见了,结果如下:

[1] “class” “fid” “bd1” “bd2” “bd3” “bd4”
[7] “bd5” “airdry1” “airdry2” “airdry3” “airdry4” “airdry5”
[13] “ll15_1” “ll15_2” “ll15_3” “ll15_4” “ll15_5” “cll1”
[19] “cll2” “cll3” “cll4” “cll5” “dul1” “dul2”
[25] “dul3” “dul4” “dul5” “sat1” “sat2” “sat3”
[31] “sat4” “sat5”

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

软件
前端设计
程序设计
Java相关