R语言读写中文编码方式
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语言读写中文编码方式相关推荐
- R语言读写二进制文件:WriteBin()、readBin()
R语言读写二进制文件:WriteBin().readBin() 目录 R语言读写二进制文件:WriteBin().readBin() WriteBin()和readBin()语法
- 基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式
基于wiki中文语料库的gensim模型使用方法以及R语言的调用方式 近期想要整理下硬盘里的东西,看到本科毕设做情感倾向分析相关的数据,想起当时使用gensim训练词向量模型训练了超级久,决定将训练好 ...
- R语言 | 读写txt、csv、excel文件
[更新~] Python网络爬虫与文本数据分析 前段时间看到plotnine库(封装的R语言ggplot2)作的图太美了,有点想重新拾起R语言^_^ R语言代码略带凌乱,讲真的还是更喜欢Python代 ...
- R语言 读写带分隔符的文件
有众多的格式和文本文件标准可用于存储数据.用于存储数据的通用格式为分隔符值(即CSV或制表符分割文件).可扩展标记语言(XML).JavaScript对象表示法(JSON) 将数据存储在文本文件中的主 ...
- r语言x%3c-读取文件,R语言读写最灵活的文件——txt文件
星爷 R语言可以读取很多文件,其中以txt文本文件最为灵活,为什么呢,txt文件可以以任意符号作为分隔符,比如",","\t",空格,甚至`"--&a ...
- R 语言读写数据编码格式
在使用R语言读取数据或者R代码时,有时候会出现中文乱码的现象.如何才能避免此类乱码问题的出现呢,笔者根据自己在实际数据处理过程中的经验,总结如下: 笔者在Windows系统下,使用R软件进行统计分析相 ...
- R语言读写最灵活的文件——txt文件
R语言可以读取很多文件,其中以txt文本文件最为灵活,为什么呢,txt文件可以以任意符号作为分隔符,比如",","\t",空格,甚至"--&¥ ...
- r语言读写word_R语言:在word中插入ggplot
最近CRAN上新了一个叫eoffice的package,并且不时被各路大佬提起.这个包的功能刚好也符合我最近的需求,这次带各位先来试试水.包的官方介绍: 1. Introductioncran.r- ...
- 【数据分析入门】R语言读写文本文件及RDATA文件
一.读入文件 x<- read.table("input.txt") head (x) x<- read.table("input.csv") x& ...
最新文章
- 2021汤家凤1800题数学一PDF_【重要更新】朱伟9720年英语一二真题解析视频 唐迟罗汉班 谭剑波作文 新东方英语 文都数学汤家凤...
- MySQL实战45讲学习笔记:MySQL架构(第一讲)
- I帧、P帧和B帧的特点
- 软考中高项学员:2016年3月26日作业
- Linux学习笔记(10)
- linux的raid级别,RAID各种级别及特性
- 企业管理培训PPT模板
- 分享一个经验模态分解分解视频,讲的超好
- 嵌入式系统是不是计算机系统,开发必知:嵌入式系统对比计算机系统
- Jenkins:安装出现“该jenkins实例似乎已离线”问题解决
- 工作记录——tomcat部署web应用常见问题和处理方法
- 拷机测试需要多久_软件测试培训多久能学会?这六个阶段是要有的
- 电脑查看Windows的具体过期日期
- Napster:生死难料,前途未卜
- 23、账号与权限管理
- python3注释_python3的注释
- Scala的null/空对象
- python使用turtle库绘制一个100长度的十字架_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...
- 武汉意向岗位(二)——中国农业银行研发中心
- Python爬虫实战练习:爬取微信公众号文章
热门文章
- 纹理打包器 TexturePacker
- Triggers can not be created on system tables
- 特战旅php 视频_15个特战旅精锐大比拼,新特种部队就一定差劲?咱们用实力来说话...
- web前端移动端项目测试的几种方法
- 使用ffmpeg将mp4格式视频元数据信息转到视频第一帧、转换mp4为ts格式视频
- linux下部署服务,启动时显示socket注册失败。数据库连接失败。求帮下忙。
- 系统集成15真题解析
- [SAP] PP模块 - BOM ( Bill of Material)
- 入耳式降噪蓝牙耳机哪款好用?主动降噪耳机排行榜10强!
- 伤寒论文本搜索(grep)