博客:www.jiaopengzi.com

焦棚子的文章目录

请点击下载附件

一、问题

pq在用 Excel.Workbook 读取一些Excel早期版本(.xls后缀)的文件时候,报错:DataFormat.Error: 外部表不是预期的格式。

二、解决方案

方案1

如果文件少可以另存为.xlsx版本即可用 Excel.Workbook 读取,也有批量xls转xlsx的工具(可自行搜索)

方案2

在不更改文件版本的情况下,可以用 R.Execute 调用R脚本读取也是非常简单的。

情况1:单个文件

let
源 = R.Execute(
"library(xlsx)
data <- read.xlsx(file = 'C:\\Users\\pyj\\Desktop\\test\\demo1.xls',1, startRow=5,colIndex=c(1),header = FALSE,encoding = 'UTF-8')")
in
源

情况2:多个文件

let
源 = R.Execute(
"library(xlsx)
#设定文件夹路径
setwd('C:\\Users\\pyj\\Desktop\\test')
filenames <- dir()
#数据框
data <- data.frame()
for (i in filenames){
#循环file
path <- paste0(getwd(),'\\',i)
# 读取并合并数据
data <- rbind(data,read.xlsx(file = path,1, startRow=5,colIndex=c(1),header = FALSE,encoding = 'UTF-8'))}"
)
in
源

三、总结

1、安装R的xlsx包;

2、注意 read.xlsx 参数的使用;

#官方帮助
read.xlsx(file, sheetIndex, sheetName=NULL, rowIndex=NULL,
startRow=NULL, endRow=NULL, colIndex=NULL,
as.data.frame=TRUE, header=TRUE, colClasses=NA,
keepFormulas=FALSE, encoding="unknown", password=NULL, ...)

3、注意:rowIndex,colIndex的参数可以使向量指定行列,如:c(1,3,4),c(5:10);支持pq中list拼接。

4、在补充一个用ODBC读取的。

by 焦棚子

焦棚子的文章目录

121_Power Query之R.Execute的read.xlsx&ODBC的更多相关文章

  1. 如何在R中加载”xlsx”包

    1.下载安装对应系统位数的JDK包(Java SE Development Kit) 2.完成后,安装rJava包-low-level r to Java Interface install.pack ...

  2. R读取excel文件乱码 read.xlsx() 解决方法

    1. 参考[R语言]R读取含中文excel文件,read.xlsx乱码问题  该文章总结得很好,可以直接跳到最后看博主的总结. 2. 如果依旧是乱码那么用read.xlsx2()去读取excel文件, ...

  3. R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  4. R包xlsx安装与使用

     1. Rstudio安装xlsx报错 xlsx包加载依赖Java环境,我之前就安装过Java,但安装xlsx成功后,加载xlsx时一直报错: Error : loadNamespace()里算'rJ ...

  5. Data access between different DBMS and other txt/csv data source by DB Query Analyzer

        1 About DB Query Analyzer DB Query Analyzer is presented by Master Genfeng,Ma from Chinese Mainl ...

  6. R2—《R in Nutshell》 读书笔记(连载)

    R in Nutshell 前言 例子(nutshell包) 本书中的例子包括在nutshell的R包中,使用数据,需加载nutshell包 install.packages("nutshe ...

  7. 轻松创建R语言函数包

    讲真,用R这么几年,始终未尝试过写自己的包,看来这就是我与真正程序员的差距了——编程习惯等于没有. 昨天一个偶然的机会想开始写自己的工具包,发现了前期教程的有一些过时.于是,写一个**windows* ...

  8. Query DSL for elasticsearch Query

    Query DSL Query DSL (资料来自: http://www.elasticsearch.cn/guide/reference/query-dsl/) http://elasticsea ...

  9. SPOJ 375. Query on a tree (树链剖分)

    Query on a tree Time Limit: 5000ms Memory Limit: 262144KB   This problem will be judged on SPOJ. Ori ...

随机推荐

  1. python学习笔记(二)——程序结构

    1. 选择结构: if 语句:单分支.双分支.多分支 **单分支结构** if 条件表达式: 语句块 **双分支结构** if 条件表达式: 语句块 else: 语句块 **多分支结构** if 条件 ...

  2. Python中module文件夹里__init__.py的功能

    怎么引用模块 环境:win7 + python3.5.2文档结构: -project -data -src  -filterCorpus.py  -translateMonolingual.py 问题 ...

  3. C# Tutorial for Frontend Developer

    1.Basic Hello World Console output -> console.log Console.WriteLine("Hello World!"); Va ...

  4. BFC理解

    Block formatting context (块级格式化上下文) 页面文档由块block构成 每个block在页面上占据自己的位置 使用新的元素构建BFC overflow:hidden | a ...

  5. 小程序TAB列表切换内容动态变化,scrollview高度根据内容动态获取

    滑动tab选项卡 一.在小程序里面tab选项卡是用的是自带的swiper组件,下面直接上代码 <view class="container"> <view cla ...

  6. 微信分享报错config:invalid url domain

    错误类型:invalid url domain 调试返回参数: { "errMsg": "config:invalid url domain" } 截图: 环境 ...

  7. conn username/password@servicename

    conn username/password 方式连接的时候,会碰到这样的错误问题 oracle@prd:/home/oracle/impdir$sqlplus /nolog SQL*Plus: Re ...

  8. Java学习day9

    抽象类的关键字:abstract 类中有抽象方法时,需要在类名前也加上abstract关键字,即 public abstract class 类名{ } 同时,抽象类不能直接实例化,需要通过子类继承, ...

  9. Java学习day28

    为什么要只用Lambda表达式:1.可以避免匿名内部类定义过多.2.可以让代码变简洁.3.去掉无意义代码,保留核心逻辑 函数式接口(Functional Interface)定义:1.任何接口,如果只 ...

  10. 微信开发者工具:Cannot read property 'addEventListener' of undefined 报错

    点击右上角详情 有个调试基础库 当前为2.17.0 调为2.14.1 解决 如果对您有帮助,希望对面的你能点赞加评论!拜上! 若有bug还请告知,万分感谢!