每日资讯:文件的读写20230204
一、csv的打开方式
a)默认:excel
(资料图片仅供参考)
b)记事本
c)适用大文件:sublime
d)R语言 >read.csv(" ") 注意文件的位置,选择相对路径还是绝对路径
二、文件的读入与导出
(1)文件读入
1⃣️ 常用于读取csv格式:read.csv(" " )
2⃣️ 常用于读取txt格式: read.table(" " )
ps(相关读取文件代码的比较):
read.table(file, header = FALSE, sep = "", quote = "\"" ...). 默认没有标题,分隔符是空格 read.csv(file, header = TRUE, sep = ",", quote = "\" ...)。 默认有标题,分隔符是“,”read.csv2(file, header = TRUE, sep = ";", quote = "\" ...) 默认有标题,分隔符是“ ;”read.delim(file, header = TRUE, sep = "\t", quote = "\" ...) 默认有标题,分隔符是“\t”(制表符)
(2)文件导出
1⃣️ 导出csv格式: write.csv(要导出数据框的变量名, file=" example.csv"). example是自己设置的名称
2⃣️ 导出txt格式:write.table(要导出的变量名,file="example.txt")
⚠️注意事项:导出文件时命名最好不要与原文件相同,不然会覆盖,导致原始数据丢失
(3)特殊文件的保存和加载: Rdata
‼️Rdata保存的是变量信息,不是文件!!因此不能x=load("example.Rdata"),变量不能被赋值给其他变量。
保存:save(test,file="example.Rdata)
加载:load("example.Rdata")
总结:
1).R 是脚本文件
2).Rdata 是变量信息
3).Rproj 是包括路径
三、保留列名和行名
保留列名:header=T, 表格自带的列名会变成真正的列名。
保留行名:row.names=1,行名也会自动变成真正的行名
ps: check.names=F 使行名与原始一致。
⚠️注意事项:当使用row.names=1时,行名不允许重复
> rod = read.csv("rod.csv",row.names = 1)Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate "row.names" are not allowed> rod = read.csv("rod.csv")> View(rod)四、不完整表格的读入
> soft <- read.table("soft.txt") #报错是表格有一列没有值Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 2 did not have 5 elements报错显示:表格第二行没有五个元素,那为什么没有五个元素会报错呢?可以先用excel打开文件看一下
> soft <- read.table("soft.txt",header = T,fill = T)通过搜索发现了fill=T 这个函数,可以在有缺失值的情况下正常读入文件。
因此可以得知,fill=T虽然可以读入文件,但是也会导致“问题文件”的读入错误,因为它的默认值是sep=" ",会把一整个空格认为也是分隔符,导致第五列的内容被错误的放入了空着的第四列。
>soft2 <- read.table("soft.txt",header = T,sep = "\t")>View(soft2)总结:用于读取/导出文件的R包
base包(常用):
read.table() read.csv() read.delim()
write.table() write.csv()
(以下读的速度比较快,适用于大文件)
readr包:
read_table() read_csv() read_tsv()
write_table() write_csv()
(看看read_csv的用法)
> library(readr)> read_csv("ex2.csv")data.table包:
fread()
1) 非常方便,可以准确读取一些“问题文件”,例如刚刚有缺失空列的soft.txt,最好带上参数 data.table=F,可以确保产生干净的数据框。
> soft_1<-data.table::fread("soft.txt",data.table = F)(非常方便,不需要乱七八糟的参数,可以读出复杂的文件)
rio包:
1) import() 可以读入一些后缀不正确的包
eg:首先设置了一个txt文件并把后缀改成mp4,使用普通音频文件打开方式会失败。
接下来就可以使用import()函数!!
> import("xh.mp4")Error: Format not supported #但是直接import出现了Error,考虑需要加一个参数> import("xh.mp4",format = " ")Error: Format not supported #课上小结老师开始使用的format参数设置为空格也报错了> import("xh.mp4",format = "\t") #但是使用"\t"就成功了 V1 V2 1 gjl 2018150012 2 ljh 2017153034> import("xh.mp4",format = ";") V1 V21 gjl 20181500122 ljh 2017153034> import("xh.mp4",format = "|") V1 V2 1 gjl 2018150012 2 ljh 2017153034 > import("xh.mp4",format = ",") V1 V2 1 gjl 2018150012 2 ljh 2017153034(根据帮助手册,发现好像";" "|" "," 都可以使用,但是会不会和我之前设置文档分割是空格有关,因此我又把文档的分隔换成";"
⚠️⚠️发现原本的分隔符确实可以原原本本的展现,由此可得format的参数可以为“,”(逗号),“|”(管道符),“;”(分号),“\t”(制表符)
2) import_list() 可以读取一个带有多个工作簿的表格文件
>a<-import_list("example.xlsx")>a$sheet1 #可以通过$sheet读取这个表格文件的不同工作簿3)export() 可以把一个由多个数据框组成的列表输出为带有多个工作簿的表格文件
ps:如果单个数据框导出,可以把后缀改成.csv.
相关阅读
精彩推荐
- 每日资讯:文件的读写20230204
- 苗霞_关于苗霞的简介|世界热推荐
- 大连花园口在哪
- 东北石油大学秦皇岛分校专升本_东北石油大学秦皇岛分校_当前讯息
- 全球观点:焦点访谈:新时代 新征程 新伟业 矢志强军 砥砺前行
- 世纪天鸿2月10日快速回调
- 蚂蚁庄园9月8日答案最新
- 中医理疗仪器有哪些_理疗仪器有哪些
- considered是什么意思_consider
- 《显微镜下的大明》口碑:吴刚反派带感,戚薇瞪眼,张若昀人设差-世界速看
- 2022年11月份黄道吉日查询,2022年11月份黄历日历一览表
- 世界微动态丨宣城公积金查询个人账户老入口_宣城公积金查询个人账户
- 9月16日商洛疫情最新消息:昨日新增本土无症状1例
- 追女孩应该送什么礼物,细数那些新奇的 即时焦点
- 2023武汉社保缴费标准 缴费标准如下
- 11月14日是什么日子(节日、纪念日)
- 凡人微光|开学啦
- 全球时讯:电视剧天龙八部版全集_82天龙八部电视剧全集
- 天天要闻:苹果touch什么意思
- 中广核新能源:1月集团按合并报表口径完成发电量1866.9吉瓦时,同比增35.9% 天天百事通
- 全球快讯:路由器开启无线广播是啥意思_路由器开启无线广播是什么意思
- 【天天聚看点】普通话过了怎么拿证书_普通话证怎么考
- 每日热议!三个鱼字念什么 鱻字词组
- 全球关注:拉什福德社媒鼓励球队:永不放弃!遗憾的是我们没有赢下比赛
- 环球微动态丨15万能卖疯?丰田首款家用多功能MPV官宣,7座+2.0动力,年底引入
- 焦点简讯:山姆超市逼疯年轻人 持有会员卡才能进去
- 疗效杠杠的中药——白矾不平凡
- 环球最新:人生为题的作文模板8篇
- 淘宝分期免息真的不用利息吗_淘宝分期-通讯
- 银装素裹的意思是什么?_银装素裹的意思-天天微头条
