R语言读取含中文的txt文件错误,分隔符是制表符,为什么部分列分割不出来?

理由
举报 取消

用R读取一个200多兆的txt文件,文件的分隔符是\t,但是读取之后某列并没有分割出来,语句如下:data <- read.csv(“test.txt”,header=F,stringsAsFactors=FALSE, sep=”\t”,encoding = ‘UTF-8’);最后的结果如下图所示:V5列部分根据制表符并没有分割开来,不知道为什么,希望大神解惑PS:因为是非私人数据,所以抹去了部分信息,请见谅PS:用readLines试验了以下,开销太大,破本完成不了。。。

2018年2月18日 4 条回复 1388 次浏览

发起人:叶清 初入职场

回复 ( 4 )

  1. 赵龙峰
    理由
    举报 取消

    可以先把\t批量替换完了在设置sep参数吧,为什么文本中会直接显示\t?

  2. 丹丹
    理由
    举报 取消

    请问题主问题解决了吗?我也碰到了这个问题~~

  3. 周圆方
    理由
    举报 取消

    把文件转化成excel格式,装xlsx包,然后用read_excel命令完美解决了这个问题。

    ——————————————更新的分割线——————————————————————————-

    有中文列与之后的那列之间的分隔符有时无法识别,我也遇到很多次这样的问题。

    像这样,我读取的都是csv文件。用read.csv命令跟题主一样。

    另一组数据也是这个问题,某些列的逗号没识别出来

    之前我解决办法都是删去含中文的列或者把中文转换成数字英文之类的,因为里面的中文列相对不重要。现在把文件转化成excel格式,装xlsx包,然后用read_excel命令就完美解决了这个问题。

  4. 叶清
    理由
    举报 取消

    找到了一个笨方法。。。

    我先把txt文件用别的工具转成ansi编码的,然后再用read.csv命令去读,这时候不用限制encoding就能读取成功了。

    PS:用的转码工具在网上搜的,很小巧,叫“TXT全能转码器李亮版”,感谢李亮大神

我来回答

Captcha 点击图片更换验证码