今天接手一个重复性工作, 需要手工把产品运营们在excel里写的活动规则, 插入数据库表中。为了减少出错, 提高效率。 再加上最近刚刚学R语言, 就用R练练手, 自动生成mysql的sql语句。 一次性提交。

刚才就是判断一个值是否是整数折腾了一小会儿。后来发现R判断这个很简单。

就是as.integer(money) != as.numeric(money)

require("XLConnect")
library("WriteXLS")
wb <-loadWorkbook("activity.xls",create=FALSE)
df1 <- readWorksheet(wb,sheet="work")

for(i in 2:length(df1$activityID) )
{
activityID <- df1$activityID[i]
money = df1$money[i];
if(as.integer(money) != as.numeric(money))
{
rules <- sprintf("'rules/taxiRebateBySameCashAmount/rebateRules%3.2fyuan.xls'", as.numeric(money))
}else
{
rules <- sprintf("'rules/taxiRebateBySameCashAmount/rebateRules%dyuan.xls'", as.integer(money))
}
df1$sql[i]=sprintf("INSERT INTO t_activity_rule (activity_id, rule_type, rule_location) SELECT %d, 1, %s FROM dual WHERE not exists (select * from t_activity_rule where t_activity_rule.activity_id = %d and t_activity_rule.rule_type=1); update t_activity_rule set rule_location = %s where t_activity_rule.activity_id = %d and t_activity_rule.rule_type=1;"
, activityID, rules, activityID,rules ,activityID)

}
WriteXLS(df1,ExcelFileName = "activity.xls", SheetNames = "work")

R语言中判断是否是整数。以及读写excel的更多相关文章

  1. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  2. R语言中的字符处理

    R语言中的字符处理 (2011-07-10 22:29:48) 转载▼ 标签: r语言 字符处理 字符串 连接 分割 分类: R R的字符串处理能力还是很强大的,具体有base包的几个函数和strin ...

  3. python 和 R 语言 中的 range() 函数

    1.python 中的 range() 函数生成整数序列,常用于 for 循环的迭代. 示例: 2.R 语言中的 range() 函数返回一个数值向量中的最小值和最大中,常用于求极差. 示例: 按语: ...

  4. R 语言中的数据结构

    基本数据类型 6种 numaric  如 12, 12.4 integer  如 2L,0L complex  包含实数和虚数 如 3+2i character  要用双引号或者单引号包括起来 如 & ...

  5. R语言中的几种数据结构

    R语言中的几种数据结构 一  R中对象的5种基本类型 字符(character) 整数 (integer) 复数(complex) 逻辑(logical:True/False) 数值(numeric: ...

  6. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  7. 机器学习:R语言中如何使用最小二乘法

    详细内容见上一篇文章:http://www.cnblogs.com/lc1217/p/6514734.html 这里只是介绍下R语言中如何使用最小二乘法解决一次函数的线性回归问题. 代码如下:(数据同 ...

  8. R+openNLP︱openNLP的六大可实现功能及其在R语言中的应用

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- openNLP是NLP中比较好的开源工具,R语 ...

  9. R语言中的横向数据合并merge及纵向数据合并rbind的使用

    R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...

随机推荐

  1. Redis附加功能之Redis事务

    一.事务 Redis 的事务功能允许用户将多个命令包裹起来,然后一次性地.按顺序地执行被包裹的所有命令.在事务执行的过程中,服务器不会中断事务而改去执行其他命令请求,只有在事务包裹的所有命令都被执行完 ...

  2. 检测网页是否可以打开, 再使用IE打开网页

    //检测是否能连接网页 BOOL CanLinkWebPage(string strUrl) { /*clock_t start, finish; double duration; start = c ...

  3. DZ!NT论坛 3.6.711删除用户各种错解决方案

    DZ!NT论坛 3.6.711删除用户各种错解决方案   首先删除一个用户~ado.net报错 对象名  'dnt_spaceposts' 无效. 对象名 'dnt_spaceconfigs' 无效. ...

  4. java.io.Serializable浅析

    转自:http://www.cnblogs.com/gw811/archive/2012/10/10/2718331.html Java API中java.io.Serializable接口源码: p ...

  5. Flash图表控件FusionCharts如何在图表中显示标识和图片

    在FusionCharts的图表中显示外部商标 使用FusionCharts之后,用户可以在运行时加载需要在图表中显示的外部标识/图片/图像.这个标识可以GIF / JPEG / PNG或SWF文件格 ...

  6. notepad++ tab键用空格缩进

    从工作那天开始到现在,写python代码一直用notepad++来写,尝试几次都改不回eclipse.o(╯□╰)o python脚本中,如果用制表符缩进,经常会报错,必须改用空格缩进代替. 之前设置 ...

  7. Type-base dispatch

    In the previous section we added two Time objects, but you also might want to add an integer to a Ti ...

  8. 安装office2013时弹出microsoft setup bootstrapper已停止工作,接着就不能安装了

    只是说一下自己的解决方法: 我的原因是注册表没有删除改进. 1.输入regedit 2.找到HKEY_LOCAL_MACHINE\software\microsoft\windows\CurrentV ...

  9. openstack实例热迁移

    [DEFAULT]scheduler_default_filters=AllHostsFilterallow_resize_to_same_host=Trueallow_migrate_to_same ...

  10. HTTP Status 500 - javax.servlet.ServletException

    运行某个jsp页面时提示 type Exception report message javax.servlet.ServletException: java.lang.NoClassDefFound ...