- 浏览: 303791 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
module Net class FTP def mput(pattern, &block) Dir[pattern].each{ |file| put(file, &block) } end def mget(pattern, remote_path = ".", local_path = ".", &block) # remote_path = is_cw ? remote_path + "/" + pattern : remote_path files = remote_path.blank? ? list(pattern) : list(remote_path + "/" + pattern) # files = is_cw ? list(remote_path) : nlst(remote_path) localfiles = [] files.each{ |file| filename = filename(file) file_extname = filename.split(".").last localfile = local_path + "/" + File.basename(filename) ext_name = ["txt","xml", "dat"] # 标准的文本文件结尾 ext_name << "end" 备份文件采集.end 结尾,实际上是TXT文件 if(ext_name.include?(file_extname.downcase)||file_extname.downcase.match(/\d{4}-\d{1,2}-\d{1,2}$/)) gettextfile(remote_path + "/" + filename, localfile, &block) # gettextfile( filename, localfile, &block) else getbinaryfile(remote_path + filename, localfile, &block) end sleep(1) localfiles << localfile } return localfiles end def filename(o_filename) if(o_filename.start_with?("l")) s = o_filename.split(" ") s[s.length - 3] else o_filename.split(" ").last end end end end
rake定时文件
desc 'Import Hubei radius CDR' namespace :hb do task :import_radius => :environment do date = ENV['date'] date ||= (DateTime.now - 1.day).strftime("%Y-%m-%d") FileUtils.mkpath("#{RAILS_ROOT}/tmp/radius") FileUtils.mkpath("#{RAILS_ROOT}/tmp/sqlldr") radius_config = YAML.load_file("#{RAILS_ROOT}/config/value_analysis.yml").symbolize_keys! time_start = Time.now sqlldr_file = File.new("#{RAILS_ROOT}/tmp/sqlldr/#{date}-radius.ctl", "w") begin write_header(sqlldr_file) date_pattern = date.to_date.strftime("%Y%m%d") sqlldr_lines = [] Net::FTP.open(radius_config[:radius_host], radius_config[:radius_username], radius_config[:radius_password]) { |ftp| ftp.passive = true ftp.debug_mode = true ftp.resume = true ftp.mget("*" + date_pattern + "*.txt", radius_config[:radius_path] + "/#{date_pattern}", "#{RAILS_ROOT}/tmp/radius") do |line| sqlldr_line = [] unless line.nil? cell_def.each do |d| key = d.keys.first value = d.values.first fields_value = line.split("|") if fields_value.length > 5 if ['net_type','auth_type'].include?(key.to_s) sqlldr_line << value elsif value.is_a? Fixnum sqlldr_line << fields_value[value] elsif value[:format].nil? sqlldr_line << fields_value[value[:index]] else sqlldr_line << value[:format].call(fields_value[value[:index]]) end end end sqlldr_lines << sqlldr_line.join(",") end end } sqlldr_file << sqlldr_lines.join("\n") puts "total_time for writing sqlldr_file:#{Time.now - time_start}" sleep 10 time_start = Time.now sqlldr_com = "sqlldr userid=#{$CFG['username']}/#{$CFG['password']}@#{$CFG['service']},control=#{RAILS_ROOT}/tmp/sqlldr/#{date}-radius.ctl,log=#{RAILS_ROOT}/log/#{date}.log,direct=true" puts sqlldr_com system sqlldr_com puts "total_time for importing data:#{Time.now - time_start}" time_start = Time.now puts "calling deal wlan auth perf task procedure" sleep 0.02 Report.deal_auth_deal_perf_task(date) puts "total_time for execute procedure:#{Time.now - time_start}" ensure sqlldr_file.close end end def cell_def [ {:login => 2}, {:start_time => { :index => 30, :head => "START_TIME Date 'yyyymmddHH24miss'" }}, {:sta_mac => { :index => 20, :format => Proc.new {|mac| format_mac(mac) } }}, {:end_time => { :index => 31, :head => "END_TIME Date 'yyyymmddHH24miss'" }}, {:period_time => { :index => 32, :format => Proc.new {|time_len| time_len.to_i / 60 } }}, {:bytes_in => { :index => 12, :format => Proc.new {|bytes| bytes.to_i * 1000 } } }, {:bytes_out => { :index => 11, :format => Proc.new {|bytes| bytes.to_i * 1000 } } }, {:svlan_id => 48}, {:net_type => 1}, {:auth_type => 1} ] end def format_mac(mac) "#{mac[0..1]}:#{mac[2..3]}:#{mac[4..5]}:#{mac[6..7]}:#{mac[8..9]}:#{mac[10..11]}".upcase end def write_header(sqlldr_file) sqlldr_file << "OPTIONS(ERRORS=100000)\nLoad DATA\nINFILE *\nTRUNCATE INTO TABLE WLAN_AUTH_IMPORT_TEMP\nFields terminated by \",\"\nTRAILING NULLCOLS\n" head = [] cell_def.each do |d| key = d.keys.first value = d.values.first if value.is_a? Fixnum or value[:head].nil? head << key.to_s.upcase else head << value[:head] end end sqlldr_file << "(#{head.join(",")})\nBEGINDATA\n" end end
发表评论
-
git仓库创建
2020-09-04 15:33 715推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 479nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
导入线下excell业务数据按权重匹配线上数据
2019-03-07 11:00 910业务场景:(系统间还没有接口对调,订单号暂时需要线下处理) 线 ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 869class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 571require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 539针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1171<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 1005gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 700def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 733sign = OpenSSL::Digest::SHA256. ... -
ruby 调用restful接口示例
2018-12-20 12:02 931链接参数中添加token def self.query_p ... -
rails错误日志记录
2018-12-19 14:41 788Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 1044tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 1047例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 449关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1191def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1093[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1414登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1183pdf&excell&png # rend ...
相关推荐
一种改进的自适应短时傅里叶变方法-基于梯度下降 算法运行环境为Jupyter Notebook,执行一种改进的自适应短时傅里叶变方法-基于梯度下降,附带参考。 算法可迁移至金融时间序列,地震 微震信号,机械振动信号,声发射信号,电压 电流信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等信号。 sr = 1e4 t = torch.arange(0, 2.5, 1 sr) f = torch.sin(2*pi*t) * 1e2 + 1e2 * torch.ones_like(t) + 5e1 * t x = (torch.sin(torch.cumsum(f, dim=0) 2e2) + 0.1 *torch.randn(t.shape))[None, :] x += torch.sin(torch.cumsum(1e2*5 * torch.ones_like(t), dim=0) 2e2) x = x.to(device) print(x.shape) plt.plot(f)
源码 一个Java GUI 图书借阅系统源码. 一个Java GUI 图书借阅系统源码.
螺旋藻过滤机sw21可编辑全套技术资料100%好用.zip
【java】基于java+SSM-考试系统
【python设计模式】大话设计模式python实现
内容概要:本文详细介绍了太原理工大学围绕JavaEE技术栈展开的一系列实践项目。首先介绍了校内课程实践项目,比如学生信息管理系统和校园在线选课系统,旨在让学生熟悉分层架构开发模式及其各层次的具体技术应用(如Servlet、Spring、MyBatis),从而掌握前后端交互的基本流程及数据存取方式。其次针对更高阶的学习目标提到学科竞赛类项目如 ACM 国际大学生程序设计竞赛项目和中国大学生计算机设计大赛项目,鼓励学生挑战算法实现与优化,同时培养他们的创新能力和服务意识。最后着眼于提升学生的就业竞争力阐述了校企合作项目的具体内容,强调在真实的工作环境中积累经验的重要性,包括参与企业级Web应用程序开发以及大数据分析和可视化的平台建设等方面。 适合人群:面向高等院校计算机专业的大三及以上年级的学生或是有兴趣深入了解JavaEE并在实践中成长的学习者。 使用场景及目标:①通过具体案例让读者深刻体会从理论学习转向实际动手制作的过程;②为参加编程赛事提供灵感和支持;③加强学校与行业的对接,使在校生能提前适应职场的要求。 其他说明:以上实践项目的设置反映了当前互联网行业的最新动态和技术趋势,既有利于学生个人发展也为社会输送更多优秀的IT人才做出了贡献。
【课程设计】TensorRT部署DETR项目工程python源码.zip
【vue】基于vue开发的pad考试系统
【课程设计】基于百度飞桨paddle实现语音情感识别源码+项目说明.zip
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
模型预测控制,燃料电池混动能量管理 编程平台matlab,.m文件 基于MPC的燃料电池混合动力系统能量管理策略,该程序是本人自己编写,程序没有任何问题,备注书写详细,可根据你的实际情况更你对应的工况便可以使用。 注意:1.本程序选择的目标函数考虑了动力系统的性能衰 ,可作为创新点 2.该程序预测部分框架可以改变,通过更精确的预测进行能量管理可作为另一个创新点 3.本程序以bp预测,另有lstm工具箱预测,可更 4.可以调节soc始末一致 6.可更任意工况运行
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
【毕业设计】基于SpringBoot开发的酒店管理系统源码.zip
Matlab实现Attention-GRU多变量时间序列预测 1.Matlab实现Attention-GRU多变量时间序列预测(注意力机制融合门控循环单元,也可称呼TPA-GRU,时间注意力机制结合门控循环单元) 2.运行环境为Matlab2020b: 3.data为数据集,MainAttGRUNM.m为主程序,运行即可;其余m文件为子函数,无需运行,所有文件放在一个文件夹,赠送俩个Attention-GRU学习的文献: 4.运行需要GPU支持运算
【课程设计】基于python+html实现爬虫+neo4j+D3实现的苏州旅游知识图谱源码+数据.zip
Enterprise Architect (简称EA) 是我们做软件设计及开发要使用的工具,它的功能非常多,有很多功能大家都不熟悉。在这里总结了一些比较高级的使用方法分享给大家。(比较基础的UML画图方法,在别的地方有很多介绍,本课程中不再详述)。本课程内容如下: EA可以做什么? 用EA编写和管理“需求” EA的Project Browser操作 EA项目的基本设计原则 元素的Name和Alias自动编号 创建测试用例的规范描述 建立和查看Traceability EA中增加一个Tag (Tagged Value) EA的Diagram操作 EA中创建Object对象的方法 EA中设置连线或元素的Stereotype
单线程爬虫-上线资源包
乐鑫ESP32-S3红外重复码值发送参考代码。虽然不是整个工程,但红外这一部分是全的,已经调通,能够正常发送红外重复码值。 乐鑫官方在红外发送重复码这一块存在空白,本代码填补了这一空白。给需要使用ESP32系列芯片的人直接提供了代码,无需再自行摸索,甚至无从下手。
台达DVP-20PM的追剪程序,同步运动,是用在卷纸管机上的 这份资料包括: 1、电气图纸一份 2、DVP-20PM的程序(有注释) 3、台达伺服的参数设置源文件(从台达B2伺服中导出) 4、说明书一份 该款卷纸切管机机械结构设计合理,使用钢结构机架和方通为主体,以2500P R高分辨率编码器检查送纸速度与送纸长度;采用一台台达高性能变频器驱动三台电机作为原材料上胶、三层纸的合理重叠卷纸,具有同步性能好、同步精度高等优势;采用三台台达B2系列16bit编码器分辨率伺服电机控制卷纸内芯轴装置、外辊轴装置、追剪装置,精度高、稳定性好、同步精度高等优势;并配备台达BOP-BO7S411触摸屏、台达DVP-20PM00M PLC ,等一系列台达产品,达到通讯建议,匹配度高,稳定性能好等效果。