上交所行情文件导入数据库
事情的起因很简单,需要将股票收盘行情导入数据库,因为科创板交易时间延长,需要将原有的程序进行改造,众所周知,程序员永远是不够用的,只能自己解决这个问题。
方式是用定时器调用shell脚本。
上交所的mktdt00.txt使用“|”作为分隔符。
核心代码是将mktdt00.txt转成程insert into table values( ) 然后有sqlplus导入数据库。
代码一:
#!/bin/bash
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf
IFS=$'\n'
for entry in $(cat $dbfpath/mktdt00.txt)
do
IFS='|'
arr=($entry)
if [ ${arr[0]} == 'MD001' ]; then ## index
a=" INSERT INTO mktdt00 VALUES( ""'"
a=$a"${arr[1]}""','""${arr[2]}""',"
a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"
a=$a",""${arr[7]}"",""${arr[8]}"",""${arr[9]}"",0,0,""${arr[3]}"
a=$a",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ) ; "
echo $a>>$dbfpath/mktdt00.sql
elif [ ${arr[0]} == 'MD002' ] || [ ${arr[0]} == 'MD003' ] || [ ${arr[0]} == 'MD004' ] ;
then
## stock bond fund
a=" INSERT INTO mktdt00 VALUES( ""'"
a=$a"${arr[1]}""','""${arr[2]}""',"
a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"",""${arr[7]}"",""${arr[8]}"
a=$a",""${arr[10]}"",""${arr[11]}"",""${arr[13]}"",""${arr[3]}"",0"
a=$a",""${arr[12]}"",""${arr[15]}"",""${arr[16]}"",""${arr[19]}"",""${arr[20]}"
a=$a",""${arr[14]}"",""${arr[17]}"",""${arr[18]}"",""${arr[21]}"",""${arr[22]}"
a=$a",""${arr[23]}"",""${arr[24]}"",""${arr[27]}"",""${arr[28]}"",""${arr[25]}"
a=$a",""${arr[26]}"",""${arr[29]}"",""${arr[30]}"" );"
echo $a>>$dbfpath/mktdt00.sql
else
echo "success!"
fi
done
echo "commit;">>$dbfpath/mktdt00.sql
'MD001' 是指数格式和 其他的格式有所不同。
代码二
#!/bin/sh
. ~oracle/.bash_profile
user='数据库用户名'
pwd='数据库密码'
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf
cd $dbfpath
rm -rf *
wget http://内网ipip/mktdt00.txt #下载局域网中的交易所行情文件mktdt00.txt
sh $dbfpath/readkcb.sh #执行上一下txt转sql 脚本
if [ -s mktdt00.sql ];then
sqlplus $user/$pwd <<EOF >/tmp/imp.log
truncate table mktdt00;
@$dbfpath/mktdt00.sql
quit
EOF
转载于:https://www.cnblogs.com/ianxu/p/11176606.html
上交所行情文件导入数据库相关推荐
- excel 文件导入数据库(java)
excel文件导入数据库! 先上传,后解析,再对sql建表,插入数据,导入完成,删除上传的临时表! 谢谢指点! 1.导入jar jxl.jar poi-poi-2.5.1jar poi-contrib ...
- CSV文件导入数据库后中文乱码
CSV文件导入数据库后中文乱码 背景:我用的是Dbeaver连接的clickhouse数据库,向现场的同事要了数据(CSV格式文件),导入后都是途中这样的,根本用不了.在网上找到同样的情况的文章,记录 ...
- json大文件导入数据库
json文件导入数据库 使用Navicat的客户端工具也可以实现json文件导入数据库,但是数据量大了之后,字段的值过于冗长可能会导致数据的截取,是的数据导入不是完整的. 所以另辟蹊径使用其他方法 创 ...
- java代码将csv格式的文件导入数据库
java代码将csv格式的文件导入数据库 最近接到了一个需求,将csv文件的内容通过java进行入库操作,在此记录一下整个完整的代码 主要逻辑 读取csv的每一个数据,对数据对应的对象赋值,将对象放入 ...
- ITPUB老帖子:小招技巧3: EXCEL文件导入数据库
小招技巧3: EXCEL文件导入数据库 (发贴日期:2003.03.11) EXCEL文件导入数据库的简便方法 嗨! 这个问题你可能有很多好方法. 不过多学一种不是坏事. 你用的方法可能是: 1. 存 ...
- 将json文件导入数据库
将json文件导入数据库 作为小白编写该文档可能有很多地方需要去改进 这里json文件内容格式为 [ { [ ] } ] 使用alibab的fastjson中JsonReader进行解析 大致流程如下 ...
- php如何导入大文件数据库,PHP读取CSV大文件导入数据库的示例
文章详细介绍了csv文件在php中快速导入到mysql数据库中的例子,虽然从最简单的几百MB的到最后使用插件实现几个GB数据导入中间有一些嗑碰了,但结果还是好的. 对于数百万条数据量的CSV文件,文件 ...
- ixf文件 mysql导入,控制 PC/IXF 文件导入数据库的一般规则
IMPORT 实用程序仅接受 PC/IXF 格式文件 (IXFHID = 'IXF').不能导入其他格式的 IXF 文件. IMPORT 实用程序拒绝超过 1024 列的 PC/IXF 文件. 导出至 ...
- 使用txt文件导入数据库内容
用下面语句导入数据库表内容 LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE mytable; 其中mytable是表名称 " ...
最新文章
- cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)
- 【普及组模拟赛】游戏
- mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节
- 在 .NET 应用中使用 ANTLR
- php表白页面,2020情人节表白页面(代码分享)
- npm 下载 依赖包时出错的解决方式
- P3399 丝绸之路(线性二维dp)
- python之requests模块
- 【学习笔记】子集生成的方法
- linux管理进程的数据结构,Linux 进程运行的各项指标的监测和一些管理命令的应用...
- 概率论与数理统计思维导图_“我更强调统计学的思维”——专访北京师范大学未来教育学院李勇教授...
- python变量定义模糊_python基础-1(网络瓶颈效应,执行python两种方式,变量,常量,python变量内存管理,变量的三个特征,花式赋值,注释 )...
- 滑雪总结 --- 双板滑雪
- js 主动触发 a 标签 href 链接写法,
- 5G系统关键无线技术介绍
- 使用Excel的VBA简单语句处理循环、判断等操作
- 全球与中国强化采油表面活性剂市场深度研究分析报告
- 如何使用爬虫分析Python岗位招聘情况
- RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)
- 【GDPMS】项目管理实战公益培训第十二期
热门文章
- 【7】jQuery学习——入门jQuery选择器之过滤选择器-可见性过滤选择器
- oracle转mysql总结经验,oracle转mysql总结(转)
- mysql数据库索引页号为什么从3开始_MySQL数据库快问快答
- java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键
- python画画bup_Python中的高效Vector / Point类
- PL/SQL Developer跑在Oracle 64位数据库上初始化错误
- requests 分类多级页面_scrapy框架爬取多级页面
- 《MySQL——索引笔记》
- 【C++grammar】结构化绑定
- LeetCode 572. 另一个树的子树 思考分析