首页>资讯>正文
今日聚焦!文件的读写20230204
2023-02-11 18:13:05    来源:腾讯云

一、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, 表格自带的列名会变成真正的列名。

ex1<-read.table("ex1.txt")
ex1<-read.table("ex1.txt",header=T)

保留行名:row.names=1,行名也会自动变成真正的行名

ex2 <- read.csv("ex2.csv")
ex2 <- read.csv("ex2.csv",row.names = 1,check.names = F)

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)
列名重复,故不能使用row.names=1

四、不完整表格的读入

> 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 这个函数,可以在有缺失值的情况下正常读入文件。

但是从826行开始我们发现读入的数据与原表不符合。
原表(空出一列)

因此可以得知,fill=T虽然可以读入文件,但是也会导致“问题文件”的读入错误,因为它的默认值是sep=" ",会把一整个空格认为也是分隔符,导致第五列的内容被错误的放入了空着的第四列。

>soft2 <- read.table("soft.txt",header = T,sep = "\t")>View(soft2)
加上sep="\t",只会识别一个制表符作为分割,因此可以识别空列

总结:用于读取/导出文件的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")
发现read_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,使用普通音频文件打开方式会失败。

分别使用read.table 和read.csv 读取,都可以读取但出现了warning

接下来就可以使用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.

关键词: 文件存储 HTML 编程算法

今日聚焦!文件的读写20230204

d)R语言>read csv( " ")注意文件的位置,选择相对路径还是绝对路径2023-02-11

焦点快看:拜年送客户什么礼品合适

拜年送客户这些礼品合适,拜年要给长辈一些礼品,一是必须要的,但是礼品要有档次,不能太贵重,也不能太便宜太低,不能太刻意!2023-02-11

刘亚仁爆碰毒5年!职员看过他3次「其他艺人也上瘾」:醒了就注射

记者吴睿慈/综合报导韩影帝刘亚仁涉嫌滥用药物异丙酚(俗称牛奶针),事件越烧越大,他陆陆续续遭韩媒爆料,其实从2021年就开始于各家医院获2023-02-11

麦当劳超值午餐几点开始_麦当劳超值午餐几点到几点 世界头条

1、麦当劳在上午十点结束早餐后就开始售卖午餐了。以上就是【麦当劳超值午餐几点开始,麦当劳超值午餐几点到几点】相关内容。2023-02-11

今日热讯:coach托特包多少钱 永不过时的经典款

coach托特包是coach家的经典款了,这款包包相信很多人都买过,超级能装,而且款式也简单大气,那么这款包包的价格是多少呢,我们来看看吧。coa2023-02-11

02月11日商洛今日疫情最新动态消息 商洛出行进出返乡最新疫情防疫管控出入政策通知

2023年02月11日商洛今日疫情最新动态消息及商洛出行进出返乡最新疫情防疫管控出入政策通知。本次商洛出现防疫政策信息数2023-02-11

环球快消息!同程生活宣布破产 谁是社区团购下一个出局者?

社区团购正在迎来一轮新的洗牌。7月7日晚,社区团购平台同程生活运营主体苏州鲜橙科技有限公司发布公告称:因经营不善,虽经多方努力,但仍然2023-02-11

郭碧婷生日宴暴露人品,所有人都会喜欢,怪不得向太就是认定她!

昨日郭碧婷的父亲在社交平台上发布了女儿回家过生日的照片,从照片中可以看出来,整个生日宴中都是一些家常菜,十分接地气,这也是她嫁入豪门2023-02-10

软文推广:条条大路通罗马 目的地才是关键

软文虽然千变万化,但是万变不离其宗,都是为了推广。软文推广不是只是写些推广性的软文发布到论坛里就完整了,它是把具有一定目的的文字、图2023-02-10

近10年最大增幅 云南今年将投入财政科技经费34亿元

近10年最大增幅云南今年将投入财政科技经费34亿元2023-02-10

备注英文_备注例句_天天热议

1、“备注”的英文翻译是remark,有音标:英文[r mk]和美式[r mrk]。2、备注栏3、在“备注”部分2023-02-10

世界时讯:两女子冒充境外人员行骗,被刑拘

特别提醒街头冒充外地或境外人员兑换现金的诈骗活动,骗子多以外地银行卡及外币无法使用、转账会延迟为借口实施诈骗,请广大市民一定提高警惕2023-02-10

敏感时刻 白宫官员重申支持一中政策

当地时间8月1日,白宫召开新闻发布会再度就台湾问题表态:拒绝透露佩洛西是否访台,并声明美国政府的“一中政策”没有改变,“我们不支持台独2023-02-10

部分银行美元定存利率上浮 专家提示“换汇存款”风险|全球微速讯

自年初以来,在市场与美联储对加息路径的“博弈”中,美元指数虽整体呈现回落态势,但波动性显著加大。同时人民币对美元汇率已有明显回升,但2023-02-10

焦点滚动:4方9人交易官宣!篮网拒为火箭做嫁衣 太阳4巨头诞生 雄鹿获恶汉

4方9人交易官宣!篮网拒为火箭做嫁衣太阳4巨头诞生雄鹿获恶汉,火箭,交易,篮网队,雄鹿队,伊巴卡,步行者队,凯文杜兰特,菲尼克斯太阳队2023-02-10

黄钻QQ有什么用_qq黄钻有什么特权

关于黄钻QQ有什么用,qq黄钻有什么特权很多人还不知道,今天让我们一起来看看吧!1、在众多选项中,选2023-02-10

当前关注:@太原驾驶员,雪天行车易“打滑”,降低车速拉开车距很重要

@太原驾驶员,雪天行车易“打滑”,降低车速拉开车距很重要,驾驶员,雪天2023-02-10

RTX 4090顶配游戏本和苹果16英寸M2 Max MacBook Pro性能对比|焦点消息

IT之家2月10日消息,YouTube数码频道MaxTech在最新一期视频中,对比了最强悍的macOS和Windows笔记本,想要了解两2023-02-10

中金:预计24只公司有望纳入港股通,15只或被移出

来源:中金点睛北京时间2023年2月24日(星期五)盘后,恒生指数公司将公布恒生系列指数半年度审议结果(审议考察截止日期为2022年12月31日)[12023-02-10

香囊怎么做

香囊怎么做,香囊又叫香袋、香包、荷包等,有用五色丝线缠成的,有用碎布缝成的,内装香料,佩在胸前,香气扑鼻。本次给大家介绍香囊怎么做,快2023-02-10

广州群策优择软件科技有限公司_全球热点评

1、广州群策优择软件科技有限公司成立于2012年05月11日,注册地位于广州市海珠区建基路98号3层自编A07-3(2023-02-10

全球快看:阿尔卑斯棒棒糖有几种口味_阿尔卑斯棒棒糖含义

1、所有的糖都代表甜蜜和幸福。让我们看一看。2、糖在阿尔卑斯山的另一个意思。3、阿尔卑斯山代表幸福的爱情。4、阿尔卑斯意味着爱你一生一世2023-02-10

胡鑫宇案引发关注 专家:孩子出现这些表现要留意|当前热点

连日来,胡鑫宇案引发关注,2月4日,重医附一院精神科教授周新雨表示,儿童青少年的心理健康问题值得所有人重视。“在各种心理2023-02-10

球球大作战颜色,球球大作战名字颜色黑色的代码谢谢

1、想要把名字变成两种颜色,只需要把颜色代码放在名字的中间就醒了,如下图所示,这里用的是黑色。2、如此进入游戏后,就可以2023-02-09

土耳其震中居民讲述:朋友失去了20位家人,居民待在庇护所,公交车在运行,生活必需品能买到

2月8日,阳阳发现房屋又开始摇晃。她是一名华人,住在土耳其加济安泰普的富人区。“房子建筑质量很好,没有倒塌,有一些不大的裂缝。”但她还2023-02-09

滚动
资讯