楼主: wyfhdl
1639 4

[学习分享] 如果遇到read.少读或者误读数据怎么办 [推广有奖]

  • 5关注
  • 15粉丝

已卖:1502份资源

副教授

26%

还不是VIP/贵宾

-

威望
0
论坛币
2526 个
通用积分
138.3977
学术水平
27 点
热心指数
33 点
信用等级
23 点
经验
60603 点
帖子
260
精华
0
在线时间
1248 小时
注册时间
2009-12-21
最后登录
2023-2-21

楼主
wyfhdl 发表于 2016-12-7 22:12:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
题主在读取一个来自SQL导出且含有中文的.csv文件时发现,文件本身有10列, 但通过read.csv 读取时候只有9列,通过各种方式都无法读取完整的十列。
  1. PGO3 <- read.csv("E:/RCase/201612_ABBOTT_PromotionEvaluation/PGO.csv",
复制代码
就发现即便是,的分隔符但似乎还是没有办法读入, 且第一列出现了奇怪的东西;

机缘巧合下, 楼主误入了
  1. PGO4 <- read.csv2("E:/RCase/201612_ABBOTT_PromotionEvaluation/PGO.csv",
  2.                 header = FALSE, sep = ";" , encoding = "UTF-8", stringsAsFactors = FALSE,
  3.                 fill = TRUE)
复制代码
误入的部分为 sep = ";", 意外的发现了数据被读成了一列, 但是所有的 分隔符都被完好的保存
  1. > head(PGO4)
  2.                                                                                           V1
  3. 1 2014-01-01,NULL,NULL,常熟,JS,华东区,B/C/D               ,NULL,NULL,NULL
  4. 2                    2014-01-01,NULL,NULL,番禺,GD,华南区,B/C/D               ,NULL,NULL,NULL
  5. 3                    2014-01-01,NULL,NULL,泉州,FJ,华中区,B/C/D               ,NULL,NULL,NULL
  6. 4 2014-01-01,Pediasure,PEDIASURE,郴州,UN,华中区,B/C/D               ,1.1666,NULL,26.84600000
  7. 5 2014-01-01,Pediasure,PEDIASURE,淮安,JS,华东区,B/C/D               ,0.7083,NULL,16.28500000
  8. 6 2014-01-01,Pediasure,PEDIASURE,金华,ZJ,华东区,B/C/D               ,1.1249,NULL,26.40700000
复制代码


然后就可以通过,的分割来找到需要的10个变量,如下
  1. DATE <- strsplit(PGO4$V1, ",") %>% sapply("[", 1)
  2. Stage <- strsplit(PGO4$V1, ",") %>% sapply("[", 2)%>%as.factor()
  3. ....
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:READ 怎么办 EAD factor Facto 中文

犯我华者 虽远必诛

沙发
杨乃权 发表于 2016-12-8 19:49:03
好像seq=","才是正确的
已有 2 人评分经验 论坛币 收起 理由
李会超 + 100 精彩帖子
jiangbeilu + 5 观点有启发

总评分: 经验 + 100  论坛币 + 5   查看全部评分

藤椅
jiangbeilu 学生认证  发表于 2016-12-9 16:51:42
csv文件,提供的就是Comma-Separated Values,也就是逗号分隔符。
用sep=","表示以“,”为符将数据分开
已有 1 人评分经验 收起 理由
李会超 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

板凳
wyfhdl 发表于 2016-12-11 15:23:57
jiangbeilu 发表于 2016-12-9 16:51
csv文件,提供的就是Comma-Separated Values,也就是逗号分隔符。
用sep=","表示以“,”为符将数据分开
对啊, 但似乎, 即便是这样, 但读取的时候还是因为中文的关系, 读取乱码

报纸
jiangbeilu 学生认证  发表于 2016-12-12 13:07:57
可能文件编码系统不一样,虽然都是csv的格式,但mac系统下的csv和windows下的csv格式也是不一样的,可能需要转换一下字符编码吧。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 19:50