mysql 循环 取数据,mysql – 读取SQL循环,然后将数据写入文件

我有一个拥有5700万行和23列的数据集.有一个列有不同鸟类的物种名称(约2000个唯一名称),我想为每个独特的物种名称提取两列数据(纬度,经度),并写入每个列的纬度/经度数据.物种,物种名称作为文件名.这是我知道的唯一语言R需要很长时间.适合这项任务的代码是什么?

我在这里尝试一些伪代码来演示我猜测代码可能看起来像什么,大致:

FOR i IN 1:unique(species_name)

SELECT latitude,longitude WHERE species_name=[i]

WRITE [some code that writes a text file with species name as the file name]

LOOP END;

我想我可以在OSX的终端上做这种事情吗?

编辑20111211:

这是我在R的工作流程:

require(RMySQL);

require(plyr)

drv

con

splist

sqlwrite

cat(spname) g1

, paste("SELECT col_16,col_18 FROM dat WHERE col_11='"

, spname, "'", sep="")

)

write.csv(g1, paste(spname, ".csv", sep=""))

rm("g1") }

l_ply(splist, sqlwrite, .progress="text" )

解决方法:

恕我直言,你能做的最好的事情是使用脚本语言(python,perl,php,shell)并从那里生成文件名和查询.这不是太难,但你必须学习不同的语言. SQL不适合命令式编程.

标签:mysql,sql,r,plyr

来源: https://codeday.me/bug/20190704/1378269.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值