r语言的导入与导出excel数据,电子表格r语言导入excel数据出问题
1. r语言导入excel数据出问题
做分析没有数据真是一大悲剧,正是无源之水、无根之木再加上无米之炊。通常我们搜寻到的数据格式主要有文本格式、Excel格式和SPSS格式。当然也会有从数据库等其它途径进来,这不在本文讨论范围内。
一般的文本格式导入,都可以用read.table命令把数据扔进R里面。Excel和Spss数据的话,可用相应软件将文件打开,观察数据结构后将其复制到剪贴板,然后一样可以用read.table('clipboard')扔到R里面。如果文件太大不好复制,那么可以利用Excel和Spss的导出功能,将数据导出成文本格式。
还有一种情况就是,你的计算机上没有安装Excel或是Spss,这数据导入就要用到RODBC扩展包了。首先装载RODBC包。然后输入数据文件的绝对路径(要注意是用/而不是\)来定义连接,最后用数据抓取命令获取你需要的标签页数据内容(Sheet1)。
library(RODBC)
channel=odbcConnectExcel("d:/test.xls")
mydata=sqlFetch(channel,'Sheet1')这样简单的两个步骤就可以将Excel数据导入R的mydata变量中。如果是Excel2007格式数据则要换一个函数
channel=odbcConnectExcel2007('d:/test.xlsx')
mydata=sqlFetch(channel,'Sheet1')导入spss的sav格式数据则要用到foreign扩展包,加载后直接用read.spss读取sav文件
library(foreign)
mydata=read.spss('d:/test.sav')上面的函数在很多情况下没能将sav文件中的附加信息导进来,例如数据的label,那么建议用Hmisc扩展包的spss.get函数,效果会更好一些。
2. r语言中导入excel数据
在R数据分析的时候,我们常常会用到Excel格式数据的读取,但是在读取数据的时候,需要加载xlsx包。值得注意的是xlsx包需要依赖Java环境,如果Java环境没有配置正确或则是环境有问题的话,也是无法正常读取的,因此这点非常重要,如果出现无法读取请认真看看是否是环境出现了错误,如果不是的话,就具体问题具体分析即可。
#R读取Excel数据是,首先要安装xlsx包,安装完install.packages("xlsx")#进行加载包library("xlsx")
#制作input测试数据
# Read the first worksheet in the file input.xlsx.data <- read.xlsx("input.xlsx", sheetIndex = 1)#实现数据的输出print(data)
3. r中导入excel数据
1、很简单的用xlswrite函数就可以了。首先打开matlab,输入你的代码2、找到你要存放文件的位置复制绝对路径(致谢文件名的话就会存放在当前目录中),如图以f盘根目录为例)3、然后写xlswrite函数,格式如图,具体格式课参看help xlswrite,xlswrite函数前一项是路径,后一项是要输出的矩阵。4、然后点击执行,等待一下,就会在指定位置新建xls文件,5、如要竖着输出数据的话,将矩阵转置即可在后面可控制输出数据在xls中的范围,如A:D,2:16等注意:转置后原来的数据只会被覆盖不会消失怎样将matlab中的数据导入到excel中6、要读出xls中的文件时可用函数xlsread用法相同。注意事项:要输出的矩阵中的数据过多时可能会出错
4. r语言如何导出Excel
背景
在学习微信小程序的过程中,需要导出excel文件数据,可是却没有后台服务器,所以只能够想着使用纯前端去导出excel
使用插件:excel-export
导出思想
将数据封装成excel文件
将excel文件上传到云存储中
将云存储的excel文件以图片的格式下载到本地
修改图片文件后缀为xlsx,成为excel文件
操作
将数据封装成excel文件;将excel文件上传到云存储中
建立云函数(我的云函数名称:uploadexportfile),打开云函数终端,安装excel-export插件
// 云函数入口文件
const cloud = require('wx-server-sdk')
const nodeExcel = require('excel-export');
const path = require('path');
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
var tableMap = {
styleXmlFile:path.join(__dirname,"styles.xml"),
name: Date.now()+"-export",
cols: [],
rows: [],
}
var tableHead = ["编号", "名称", "生日", "年龄"];
//添加表头
for(var i=0;i<tableHead.length;i++){
tableMap.cols[tableMap.cols.length]={
caption:tableHead[i],
type:'string'
}
}
//表体:伪数据
const tableList = [
{编号:0,名称:'张三',生日:'2019-5-1',年龄:20},
{编号:1,名称:'李四',生日:'2019-5-1',年龄:45}
]
//添加每一行数据
for(var i=0;i<tableList.length;i++){
tableMap.rows[tableMap.rows.length]=[
tableList[i].编号,
tableList[i].名称,
tableList[i].生日,
tableList[i].年龄
]
}
//保存excelResult到相应位置
var excelResult = nodeExcel.execute(tableMap);
var filePath = "outputExcels";
var fileName = cloud.getWXContext().OPENID + "-" + Date.now()/1000 + '.xlsx';
//图片上传到云存储
return await cloud.uploadFile({
cloudPath: path.join(filePath, fileName),
fileContent: new Buffer(excelResult,'binary')
}).then(res=>{
console.log(res.fileID);
return res;
}).catch(err=>{
});
}
DOWNLOAD
//导出excel
function exportFile(dataHeader,dataList){
wx.showLoading({
title: '正在导出',
});
console.log(dataHeader);
console.log(dataList);
wx.cloud.callFunction({
name:'uploadexportfile',
data:{
dataHeader:dataHeader,
dataList:dataList
}
}).then(res=>{
const fileID = res.result.fileID;
//下载文件
wx.cloud.downloadFile({
fileID: fileID
}).then(res1 => {
this.saveFileToPhotosAlbum(res1);//保存文件到相册
this.delCloudFile(fileID);//删除云存储文件
}).catch(error => {
// handle error
})
}).catch(err1=>{
});
}
//保存文件到本地相册
function saveFileToPhotosAlbum(res){
//授权
this.writePhotosAlbumAuth();
// 保存文件
var saveTempPath = wx.env.USER_DATA_PATH + "/exportFile"+new Date().getTime()+".jpg";
wx.saveFile({
tempFilePath: res.tempFilePath,
filePath: saveTempPath ,
success:res1=> {
//获取了相册的访问权限,使用 wx.saveImageToPhotosAlbum 将图片保存到相册中
wx.saveImageToPhotosAlbum({
filePath: saveTempPath ,
success: res2 => {
//保存成功弹出提示,告知一下用户
wx.hideLoading();
wx.showModal({
title: '文件已保存到手机相册',
content: '文件位于tencent/MicroMsg/WeiXin下 \r\n将保存的文件重命名改为[ .xlsx ]后缀即可正常打开',
confirmColor: '#0bc183',
confirmText: '知道了',
showCancel: false
});
},
fail(err2) {
console.log(err2)
}
})
}
});
}
//删除云存储文件
function delCloudFile(fileID){
const fileIDs=[];
fileIDs.push(fileID);
//删除云存储中的excel文件
wx.cloud.deleteFile({
fileList: fileIDs,
success: res4 => {
// handle success
console.log(res.fileList);
},
fail: console.error
})
}
//上传单个文件
function uploadSingleFile(cloudPath,filePath){
wx.cloud.uploadFile({
cloudPath: cloudPath, // 上传至云端的路径
filePath: filePath, // 小程序临时文件路径
success: res => {
// 返回文件 ID
console.log(res.fileID)
},
fail: console.error
})
}
//微信图片保存到本地相册授权
function writePhotosAlbumAuth(){
wx.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({
scope:'scope.writePhotosAlbum',
success() {
console.log('授权成功')
}
})
}
}
})
}
module.exports={
uploadSingleFile:uploadSingleFile,
exportFile:exportFile,
saveFileToPhotosAlbum:saveFileToPhotosAlbum,
delCloudFile:delCloudFile,
writePhotosAlbumAuth:writePhotosAlbumAuth
}
5. R语言导出excel
需要导入 包rJava和xlsx
运用函数write.xlsx:格式:write.xlsx(x, file, sheetName="Sheet1",col.names=TRUE, row.names=TRUE, append=FALSE, showNA=TRUE)
x为数据集,file为文件名(导出到默认文件夹,通过过getwd()查询默认目录,setwd()修改目录)
还可以运用函数write.cxv:格式:write.csv(x, file)
6. r中excel数据导入
将Excel中一个表格的数据导入到另一个表格,可使用数据链接实现。方法步骤如下:
1、打开需要操作的EXCEL表格,在数据标签页点击“获取外部数据”>“现有连接”。
2、在弹出的窗口中点击浏
3、找到需要导入的数据表格,然后点击右下角的打开
4、在弹出的数据选择中,点击需要导入的工作簿并确认。
5、弹出的导入数据对话框中,可根据需要选择导入数据位置,然后点击确定即可。
6、返回EXCEL表格,发现将Excel中一个表格的数据导入到另一个表格操作完成。
7. r语言导入excel数据代码
1、R语言可以导出csv格式的文件供Excel使用,具体的使用方法首先打开RStudio软件:
2、先定义一个随机生成一个包含10个正态分布数据的向量,然后输出它,使用csv函数导出csv文件,函数中第一个参数为导出的变量名nx,第二个参数为导出的文件名称和路径:
3、接着按下windows+E键打开资源管理器,双击打开生成的csv文件即在Excel中看到数据了:
8. 用r导入excel数据
在SQL数据库的很多应用场景中,需要将SQL中的某个数据库或查询的结果导出到EXCEL中,因为Excel更容易对数据处理和方便用户邮箱传输。本次经验归纳了SQL数据表导出到EXCEL中的三种方法:
1、复制粘贴,将SQL查询语句按指定条件导出数据;——适合小量数据。
2、导出完整的SQL数据表为Excel文件;——适合大量数据。
3、定时自动导出指定SQL数据表为Excel文件;——适合大量数据。
其它:DTS数据转换服务导入导出向导或者DTS设计器创建DTS包;
9. 如何把excel数据导入r语言
看你要导入什么数据了,excel、txt、csv等文件还是数据库文件?
R提供了各种数据交互方式,前者有read.table、read.csv等函数,如xlsx等R包提供此类函数。后者有RMySQL,RODBC,ROracle,RJDBC等包可以与数据库连接,读取数据库数据。