焦点速讯:文件的读写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.
下一篇:最后一页
精心推荐
- 去年京津冀工信部门推进签约570多项高端高新项目
- 京津冀区域协同创新指数增长迅速
- 1至2月河北省工业生产平稳开局 规模以上工业增加值同比增长6.0%
- 浙江绍兴15日0-21时新增41例确诊病例
- 沈阳大气优良天数达近5年来最好水平
- 辽宁实行市级政府集中监管 首站定点冷库加强疫情防控
- 辽宁省25个博士后团队冲刺全国博士后创新创业大赛
- 安徽省宿州市埇桥区大营镇大营新村调整为中风险地区
- 云南哀牢山4名地质调查人员因公殉职原因查明
- 全国首部涉及“非现场执法”的法规施行 浦东新区打造引领区数字化城市治理样板
- 杭州一封控小区完成第三轮核酸检测 前两轮检测均为阴性
- 集采未中选药品现在怎么样了?这组数据告诉你
- “海归”博士后王暾:专注灾害预警科技创新 打通灾害预警“最后一公里”
- 福建宣判一起涉恶案件 10人犯罪团伙强迫交易、非法采矿获刑
-
中新网郑州12月15日电 (记者 韩章云)针对近日网友实名举报中国农业发展银行太康县支行员工夏某华吃空饷一事,中国农业发展银行河南省
-
中新网宿迁12月15日电 (记者 刘林)“房子干净又敞亮,社区漂亮又整洁。”15日,家住江苏宿迁牛角淹社区的袁有亮谈起新家,兴奋的心情
-
中新网通辽12月15日电 (记者 张林虎)15日,记者从内蒙古自治区通辽市科左后旗公安局获悉,该局打掉一个帮助网络犯罪转账的“跑分团队
-
中新网安徽阜阳12月15日电 ( 成展鹏)12月15日,规划占地面积2500亩、投资总额75亿元的安徽省阜阳市太和县保兴医药健康产业园内一片繁
-
中新网杭州12月15日电 (郭其钰 张益聪)从焦虑不安到互帮互助,浙江省杭州市上城区凯旋街道新城市广场B座里的257人经历了难忘的72小时
X 关闭
行业排行
- 1、深圳:积极推进旅游业恢复 扎实推动经济稳定增长
- 2、保定定州提出一系列发展措施 引领体品产业向智能化品牌化高端化迈进
- 3、河北省财政厅充分发挥财政职能作用 促进交通运输事业发展
- 4、太原阳曲人才公寓项目开启施工招标工作 共有1954套人才公寓满足人才居住需求
- 5、山西出口钢构件顺利发货 为企业加强科技创新开辟了更为广阔的发展空间
- 6、上半年泰州姜堰实现新签约亿元和1000万美元以上项目95个 计划总投资208.319亿元
- 7、清华博士非洲修电站 因为他,“内卷”成为网络热词
- 8、内蒙古新增本土确诊病例3例 均在呼伦贝尔满洲里市
- 9、31省份新增新冠肺炎确诊病例67例 其中本土50例
- 10、浙江新增本土确诊病例45例 其中宁波6例、绍兴39例
X 关闭
产业
-
不用跑北京 在家门口也能挂上顶...
日前,我省首个神经疾病会诊中心——首都医科大学宣武医院河北医院...
-
“十四五”期间 河北省将优化快...
从省邮政管理局获悉,十四五期间,我省将优化快递空间布局,着力构...
-
张家口市宣化区:光伏发电站赋能...
3月19日拍摄的张家口市宣化区春光乡曹庄子村光伏发电站。张家口市宣...
-
“张同学”商标被多方抢注 涉及...
“张同学”商标被多方抢注,官方曾点名批评恶意抢注“丁真” ...
-
山东济南“防诈奶奶团”花式反诈...
中新网济南12月15日电 (李明芮)“老有所为 无私奉献 志愿服...
-
广州新增1例境外输入关联无症状...
广州卫健委今日通报,2021年12月15日,在对入境转运专班工作人...
-
西安报告初筛阳性病例转为确诊病例
12月15日10:20,经陕西西安市级专家组会诊,西安市报告新冠病毒...
-
广东东莞新增本土确诊病例2例 ...
(抗击新冠肺炎)广东东莞新增本土确诊病例2例 全市全员核酸检测...
-
中缅边境临沧:民警深夜出击捣毁...
中新网临沧12月15日电 (胡波 邱珺珲)记者15日从云南临沧边境...
-
“土家鼓王”彭承金:致力传承土...
中新网恩施12月15日电 题:“土家鼓王”彭承金:致力传承土家...