R语言读写数据的方法很多,这里主要是我在使用read.csv/read.table和write.csv/write.table时遇到的一些中文格式编码的问题。常见的中文编码方式两种:GBK(GB2312)和UTF-8。

    Windows系统下:

read.csv()和read.table()方法不指定文件格式时,默认读取的文件是GBK格式。Rstudio里面有设置默认文本编码方式,但是修改前后读入中文数据情况都一样。

   Linux(我使用的Redhat)系统下:

系统指定中文编码方式是UTF-8,所以read.csv()和read.table()都要求UTF-8。

如下两个文件,分别是UTF-8格式和GBK格式,首先用read.csv读取,可以看到不指定编码方式时,读取UTF-8格式文件是乱码。用encoding指定读取的文件编码方式为UTF-8后,正常。这样看起来read.csv()方法读取UTF-8好像可行?

那么我们再来看一个例子,相同的数据,只是最后多增加一列中文。同样,上面三种方式,读取UTF-8的时候问题直接变成了读取出错,“列的数目比列的名字要多”,并且制定编码方式为UTF-8也无法拯救你了。为什么会这样呢?

提示意思是,列名少了,那就去掉表头header=F就行了,结果如下,还是乱码,并且原本四列数据读进来后变成了七列。虽然指定encoding为UTF-8后没有了乱码,但是读取时行之间会错乱。但是用fileEncoding就没有问题了!

上述,总结而言,使用read.csv()时,有中文的话,请务必保证你的文件是GBK编码格式的。或者用fileEncoding来指定编码格式,不要用encoding!

用同样的数据来看read.table方法,只是需要多指定一个sep=”,”。同样,指定encoding无效,指定fileEncoding有效。

跟read.csv一样的问题,并且,这里header=F也可行。read.table比read.csv更严格,要求行都有相同的长度,不会自动填充NA。

write.csv/write.table方法可以使用,可以使用fileEncoding来指定输出文件的编码方式,如下,只要你的系统能识别这种方式就OK。

其实啰啰嗦嗦了这么久,总结而言就一句话read.csv/read.table尽量读入文件GBK格式(Win下),或者UTF-8格式(Linux下),不是的话,用fileEncoding指定编码格式,不要用encoding。

R语言读写中文编码方式相关推荐

  1. R语言读写二进制文件:WriteBin()、readBin()

    R语言读写二进制文件:WriteBin().readBin() 目录 R语言读写二进制文件:WriteBin().readBin() WriteBin()和readBin()语法

  2. 基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式

    基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式 近期想要整理下硬盘里的东西,看到本科毕设做情感倾向分析相关的数据,想起当时使用gensim训练词向量模型训练了超级久,决定将训练好 ...

  3. R语言 | 读写txt、csv、excel文件

    [更新~] Python网络爬虫与文本数据分析 前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^ R语言代码略带凌乱,讲真的还是更喜欢Python代 ...

  4. R语言 读写带分隔符的文件

    有众多的格式和文本文件标准可用于存储数据.用于存储数据的通用格式为分隔符值(即CSV或制表符分割文件).可扩展标记语言(XML).JavaScript对象表示法(JSON) 将数据存储在文本文件中的主 ...

  5. r语言x%3c-读取文件,R语言读写最灵活的文件——txt文件

    星爷 R语言可以读取很多文件,其中以txt文本文件最为灵活,为什么呢,txt文件可以以任意符号作为分隔符,比如",","\t",空格,甚至`"--&a ...

  6. R 语言读写数据编码格式

    在使用R语言读取数据或者R代码时,有时候会出现中文乱码的现象.如何才能避免此类乱码问题的出现呢,笔者根据自己在实际数据处理过程中的经验,总结如下: 笔者在Windows系统下,使用R软件进行统计分析相 ...

  7. R语言读写最灵活的文件——txt文件

    R语言可以读取很多文件,其中以txt文本文件最为灵活,为什么呢,txt文件可以以任意符号作为分隔符,比如",","\t",空格,甚至"--&¥ ...

  8. r语言读写word_R语言:在word中插入ggplot

    最近CRAN上新了一个叫eoffice的package,并且不时被各路大佬提起.这个包的功能刚好也符合我最近的需求,这次带各位先来试试水.包的官方介绍: 1. Introduction​cran.r- ...

  9. 【数据分析入门】R语言读写文本文件及RDATA文件

    一.读入文件 x<- read.table("input.txt") head (x) x<- read.table("input.csv") x& ...

最新文章

  1. 2021汤家凤1800题数学一PDF_【重要更新】朱伟9720年英语一二真题解析视频 唐迟罗汉班 谭剑波作文 新东方英语 文都数学汤家凤...
  2. MySQL实战45讲学习笔记:MySQL架构(第一讲)
  3. I帧、P帧和B帧的特点
  4. 软考中高项学员:2016年3月26日作业
  5. Linux学习笔记(10)
  6. linux的raid级别,RAID各种级别及特性
  7. 企业管理培训PPT模板
  8. 分享一个经验模态分解分解视频,讲的超好
  9. 嵌入式系统是不是计算机系统,开发必知:嵌入式系统对比计算机系统
  10. Jenkins:安装出现“该jenkins实例似乎已离线”问题解决
  11. 工作记录——tomcat部署web应用常见问题和处理方法
  12. 拷机测试需要多久_软件测试培训多久能学会?这六个阶段是要有的
  13. 电脑查看Windows的具体过期日期
  14. Napster:生死难料,前途未卜
  15. 23、账号与权限管理
  16. python3注释_python3的注释
  17. Scala的null/空对象
  18. python使用turtle库绘制一个100长度的十字架_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...
  19. 武汉意向岗位(二)——中国农业银行研发中心
  20. Python爬虫实战练习:爬取微信公众号文章

热门文章

  1. 纹理打包器 TexturePacker
  2. Triggers can not be created on system tables
  3. 特战旅php 视频_15个特战旅精锐大比拼,新特种部队就一定差劲?咱们用实力来说话...
  4. web前端移动端项目测试的几种方法
  5. 使用ffmpeg将mp4格式视频元数据信息转到视频第一帧、转换mp4为ts格式视频
  6. linux下部署服务,启动时显示socket注册失败。数据库连接失败。求帮下忙。
  7. 系统集成15真题解析
  8. [SAP] PP模块 - BOM ( Bill of Material)
  9. 入耳式降噪蓝牙耳机哪款好用?主动降噪耳机排行榜10强!
  10. 伤寒论文本搜索(grep)