R语言获取中文文件

                                    使用R读取文件

R常用的读取文件的方式是read.csv、read.table、read.xlsx,分别对应csv、txt、xlxs格式的文件,一般情况下使用txt、csv格式的文件比较多,xlxs我是未成功被R读取到过,若将xlsx变为csv格式的时候,需要将xlsx另存为csv格式,不是该个后缀那么简单。在读取文件的时候遇到的问题及解决办法。
**背景:**读取的文件含有多列中文
**系统:**windows10
出现的问题:
Warning messages:
1: In read.table(“huaxiang.txt”, sep = " “, fileEncoding = “utf-8”, :
invalid input found on input connection ‘huaxiang.txt’
2: In read.table(“huaxiang.txt”, sep = " “, fileEncoding = “utf-8”, :
incomplete final line found by readTableHeader on ‘huaxiang.txt’
中间试的过程省略,原因是文件编码不对。
因此将txt文件的编码形式先转为utf-8,在用 read.table(“huaxiang.txt”, sep = " “, fileEncoding = “utf-8”),发现可以正常导入数据。但summary这个数据的时候,数据是怪异的,原因是分隔符即sep=” “用的不对,因此将语句改为 read.table(“huaxiang.txt”, sep = “\t”, fileEncoding = “utf-8”)即可正常导入和显示。
补充知识点:
1.读入数据前的文件编码
不管是csv还是txt(经测试过),保存时编码选择UTF-8。
2.文件路径不能含有中文
3. read.table里面有个参数是sep,它的意思是分开数据值,关于分空白分隔符,制表符,换行符,根据文件内容使用分割符可以将文件分成垂直列,相应的形式如下:
常见空白分隔符有:空格,制表符,换行符
sep=” ”;sep = “\t”;sep = “\n”
如数据是a,c,v,b,那么分隔符是逗号“,”
如数据是从excel符合得来,分割符号是制表符”\t”
具体可参考这篇博客:
https://blog.csdn.net/thoixy/article/details/40506361
4.读取文件参数中fileEncoding与encoding的区别,读取文件是适用fileEncoding可以正常读入,当改为encoding的时候,则出现下面问题。
Error in make.names(col.names, unique = TRUE) :
invalid multibyte string 4
代码是:
read.table(“huaxiang.txt”,sep=”\t",header = T,encoding = “utf-8”,stringsAsFactors=F)
改变编码使用fileEncoding,不要用encoding,这个已经在多个博客中强调过,本博客再次强调一次。
5.读入数据不正确
使用stringsAsFactors=FALSE进行设置即可防止类型发生转化导致数据不正常,讲解同样可以参考下面博客:
https://blog.csdn.net/thoixy/article/details/40506361

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值