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

今天在用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”

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

(0)

相关推荐

  • 基于R语言中的各种更新方法分享

    宏包的更新 卸载package remove.packages("mypackage") 查看的version R.version 或者 getRversion() 查看package的version packageVersion("mypackage") 更新包 update.packages() 或者 update.packages(ask = FALSE) 删除包 remove.packages("mypackage") R软件的更新 in

  • R语言绘制坐标 保存图片的操作

    绘制坐标 有时候我们绘制坐标的时候,需要改变坐标轴的定义,我们以日期为横坐标绘制时间序列为例讲解 先列举简单的例子: rnorm(n, mean = 0, sd = 1) n 为产生随机值个数(长度),mean 是平均数, sd 是标准差 . > rnorm(10,1,sd = 2) [1] 1.98984356 -1.93403191 -1.15324772 0.84623524 -0.73123833 -2.77682328 -0.74316683 -0.02913632 -0.800634

  • R语言开发之输出折线图的操作

    线形图是通过在多个点之间绘制线段来连接一系列点所形成的图形,这些点按其坐标(通常是x坐标)的值排序,并且它通常用于识别数据趋势. 在R中的通过使用plot()函数来创建线形图,语法如下: plot(v,type,col,xlab,ylab) 参数描述如下: v - 是包含数值的向量. type - 取值"p"表示仅绘制点,"l"表示仅绘制线条,"o"表示仅绘制点和线. xlab - 是x轴的标签. ylab - 是y轴的标签. main - 是图

  • R语言 实现将两张图放在同一张画布

    我就废话不多说了,大家还是直接看代码吧~ ts1<-ts(test_data$tot_num,frequency = 365,start=c(2017,11,21)) plot(ts1,col='blue',lty='dotted',ylim=c(50,550)) par(new=TRUE) ts2<-ts(test_data$pre_result,frequency = 365,start=c(2017,11,21)) plot(ts2,col='red',ylim=c(50,550)) 好

  • R语言之xlsx包读写Excel数据的操作

    感谢Adrian A. Drǎgulescu发布的xlsx包 xlsx包提供了必要的工具来与Excel 2007进行交互.用户可以阅读和编写xlsx,并可以通过设置数据格式.字体.颜色和边框来控制电子表格的外观.设置打印区域,缩放控制,创建分割和冻结面板,添加页眉和页脚.包使用Apache POI项目中的java库.本篇主要分享利用xlsx工具包在读写xlsx过程中所碰到的问题及解决办法. 工具准备 强烈建议大家使用RStudio这个IDE,它是以今为止对R语言最友好的一个IDE之一,而且使用很

  • R语言绘图大小设定的操作

    图片大小设定 x = c(1:10) y = c(11:20) par(pin = c(5,3))#pin()函数控制图形的尺寸 plot(x = x, y = y) x = c(1:10) y = c(11:20) par(pin = c(2,3))#pin()函数控制图形的尺寸 plot(x = x, y = y) 补充:R语言ggplot2绘图设置X轴刻度,字体大小及绘图区大小 如下所示: > colnames(data1)[seq(2,ncol(data1), 15)] [1] "

  • R语言数据读取以及数据保存方式

    一.R语言读取文本文件: 1.文件目录操作: getwd() : 返回当前工作目录 setwd("d:/data") 更改工作目录 2.常用的读取指令read read.table() : 读取文本文件 read.csv(): 读取csv文件 如果出现缺失值,read.table()会报错,read.csv()读取时会自动在缺失的位置填补NA 3.灵活的读取指令 scan() : 4.读取固定宽度格式的文件: read.fwf() 文本文档中最后一行的回车符很重要,这是一个类似于停止符

  • 基于R语言xlsx安装遇到的问题及解决方案

    1.java环境的安装,如果java安装的是64位使用R软件一定要是64位,如果使用32位会报错,版本一定要对应. 2.安装顺序要是install.packages("rJava") install.packages("xlsxjars") install.packages("xlsx") 3.如果之前不是安装2中那样的顺序安装,虽然rJava或者xlsxjars包都下载了,但是就是安装不上xlsx,这时候可以选择到R安装目录下的library中

  • R语言中devtools的使用详解

    今天安装r语言devtools包,尝试很多种方法也不能决解,下面这个问题是改变镜像,然后就会可以安装了(3.4.2版本) Warning in install.packages : InternetOpenUrl failed: '无法解析服务器的名称或地址' Warning in install.packages : InternetOpenUrl failed: '不能连接到吊销服务器,或者未能获得最终响应.' Warning in install.packages : InternetOp

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

    今天在用R语言读取.csv文件的时候报错 Error in make.names(col.names, unique = TRUE) : invalid multibyte string 5 上网查了很久才知道原来是格式的问题(保存文件格式的编码不正确) 重新保存正确的格式就没有问题了~ 补充:R语言读取csv文件,第一列列名出现乱码的解决方法 在利用R语言读取csv文件时,第一列列名总是出现乱码,代码如下: setwd("E:\2.Model\4. Simulation") #设定文

  • R语言对CSV文件操作实例讲解

    在 R 语言中,我们可以从存储在 R 语言环境外的文件中读取数据. 我们还可以将数据写入将被操作系统存储和访问的文件. R 语言可以读取和写入各种文件格式,如​csv​,​excel​,​xml​等. 在本章中,我们将学习从​csv​文件读取数据,然后将数据写入​csv​文件. 该文件应该存在于当前工作目录中,以便 R 语言可以读取它. 当然我们也可以设置我们自己的目录并从那里读取文件. 获取和设置工作目录 您可以使用​getwd()​函数检查R语言工作区指向的目录. 您还可以使用​setwd(

  • go语言读取csv文件并输出的方法

    本文实例讲述了go语言读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "encoding/csv"     "fmt"     "io"     "os" ) func main() {     file, err := os.Open("names.txt")     if err != nil {      

  • c语言读取csv文件和c++读取csv文件示例分享

    C读取csv文件 复制代码 代码如下: #include <stdio.h>#include <string.h> char *trim(char *str){    char *p = str;     while (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n')        p ++;    str = p;     p = str + strlen(str) - 1;     while (*p == ' ' ||

  • R语言读取xls与xlsx格式文件过程

    目录 1. ROOBC 2. xlsReadWrite 3. XLConnect 4. xlsx 1)装Java 2)装xlsx 3)实际使用 在数据分析的过程中,第一步就是读取数据. 通常我们遇到的数据是csv格式或者txt格式的数据,这时我们使用系统自带的read.csv()与read.table()就可对这些格式的数据进行读取,只是读取时需注意编码格式.对于大型csv格式的数据(当然小数据也可以),可以使用data.table包中的fread()进行读取可以极大地提升读取速度. 但当遇到了

  • R语言导入CSV数据的简单方法

    第一.查看读取路径:getwd() ``` getwd() #获取文件存储位置 [1] "E:/R/meta-rbook-examples" #文件位置,如果是自己想要的存储位置可以直接将文件放到这里,如果不是更改路径. `` 第二.修改路径: setwd("E:/R")#设置新的路径`,将文件放入该文件夹中 第三.读取CSV文件: data1<-read.csv("dataset01.csv",as.is = TRUE)#读取文件名为:d

  • Python如何读取csv文件时添加表头/列名

    目录 读取csv文件时添加表头/列名 解决方法 更改csv文件表头 读取csv文件时添加表头/列名 有时,我们读取的csv文件数据时发现没有表头/列名,是因为Python读取csv文件数据本来就没有表头,用pandas.read读取时,则第一行自动会被识别为columns,从而给后面的分析造成不便,这时候需要我们在读取文件数据的同时添加列名. 解决方法 1.在读取文件数据之后再定义列名 df = pd.read_csv('评论.csv',header=None) df.columns = ["昵

  • php使用fgetcsv读取csv文件出现乱码的解决方法

    本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: 复制代码 代码如下: function get_csv_contents( $file_target ){  $handle  = fopen( $file_target, 'r');  while ($data = fgetcsv($handle, 1000,

  • php读取csv文件并输出的方法

    本文实例讲述了php读取csv文件并输出的方法.分享给大家供大家参考.具体实现方法如下: <?php $row = 0; $j = 1; // Linea por la que quieres empezar $file = "name.txt"; //Nombre del fichero if (($handle = fopen($file, "r")) !== FALSE) { while (($data = fgetcsv($handle, "

  • 基于PHP读取csv文件内容的详解

    一次性读取csv文件内所有行的数据 复制代码 代码如下: <?php $file = fopen('windows_2011_s.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可$goods_list[] = $data; }//print_r($goods_list);/* foreach ($goods_list as $arr){ 

随机推荐