一个空格引发的Bug! ----CSV输出和CSV读入
问题引出:
(1) 为了维护一个巨大的数据表的完整性,前期由于数据表中有缺损,不全,所以把数据表进行重新被全。
做法:把不全的表的数据先导入,然后再读出需要补充的数据,然后并表,再输出成CSV, 供平时调用。
(2)由于原来维护全是用MATLAB去维护,JULIA中输出CSV的报表,不再进行读入操作,所以一直没有注意。此次换成JULIA读入原JULIA输出的CSV,结果发现有问题。
问题:
1、一切看起来非常正常,看似完美的输出CSV,打开CSV的格式,每个字段都非常正常,全是数值格式。
2、但是,读入CSV时,就发现,里面有一些字段既不是Float64, 也不是String, 而是SubString! 而我需要用parsefloat()进行转换也一直报错,因为只接受String类型!
后来查了N久,发现是在CSV输出函数中,多写了一个空格。
write(stream,",") # ""中不留空格!否则可以读出来不能正常转成FLOAT64!
附:输出CSV函数:---已修正!
###############################
functionwriteBarDataToInputFormatCSV(filepath::String,data::Array{kBarData,1})
#bar格式:kb=kBarData(Code,DateTime,Close,Open,High,Low,PreClose,OpenInterest,Volume,Amount)
#StockCode[1] DateTime[2] Close[3] Open[4] PreClose[5]Amount[6] Volume[7]High[8] Low[9]
stream=open(filepath,"w")
#kBarData(Code,DateTime,Close,Open,High,Low,PreClose,OpenInterest,Volume,Amount)
write(stream,["Code",",","DateTime",",", "Close", ",", "Open", "," , "PreClose",",", "Amount",",", "Volume", "," ,"High",",", "Low\n"])
for kbar in data
write(stream,kbar.Code)
write(stream,",") #‘’中不留空格!否则可以读出来不能正常转成FLOAT64!
write(stream,getStandardDateTimeString(kbar.DateTime))#标准的输出方式
write(stream,",")
write(stream,string(kbar.Close))
write(stream,",")
write(stream,string(kbar.Open))
write(stream,",")
write(stream,string(kbar.PreClose))
write(stream,",")
write(stream,string(kbar.Amount))
write(stream,",")
write(stream,string(kbar.Volume))
write(stream,",")
write(stream,string(kbar.High))
write(stream,",")
write(stream,string(kbar.Low))
write(stream,"\n")
end
close(stream)
end
一个空格引发的Bug! ----CSV输出和CSV读入相关推荐
- 谷歌程序员犯低级错误?少打一个字符引发重大 Bug,致大量 Chromebook 无法解锁...
整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 初学编程的程序员难免会犯一些低级错误,这不难理解. 可当这种低级错误出现在谷歌经过三个开发者版本进而推出的 Chrome OS 正式版中 ...
- 编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中。找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以一个空
题目:编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中.找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以 ...
- 一个空格引发的销售订单中“物料未对*销售组织语言定义”问题
近期在处理SAP问题时,遇到一个有意思的情况.如下对比截图所示,某个物料在系统中实际并不存在,但当在销售订单中处理时,在订单中填入物料号,发现系统并没有提示物料不存在,而是关于语言定义的提示.这就产生 ...
- 一个空格引发的“惨案“
作者 | 践行精神自由 来源 | 互联网全栈架构 责编 | 屠敏 "案情"回顾(情景模拟): 小张是一名软件工程师,工作兢兢业业.一丝不苟且精益求精,天性乐观的他每天愉快地做着增删 ...
- Vue2.0 webpack 配置html-webpack-plugin无报错 但依旧失败——一个空格引发的惨案
今天刚开始学习Vue2.0,在配置html-webpack-plugin时,没有报错,但效果就是不显示 查了半天大小写,无错 // 导入HTML插件,得到一个构造函数 const HtmlPlugin ...
- 一个空格引发的悲剧(详解如何看懂悲催的技术人员冷笑话)
向非程序员朋友介绍个最近程序员界好玩的东西(以后我的日志都会尽量照顾非程序员朋友). 是这样子的--先来一点背景介绍,GitHub.com 这个网站,是目前最火的源代码托管网站及程序员社区,用它来托管 ...
- Build.MODEL中一个空格引发的血案
红米手机的Build.MODEL有一个空格,比如readmi k30. 项目中要求WebView加载url时要拼上手机型号,所以需要URLEncode一下再拼在url上,而空格会被encode成加号, ...
- oracle拼接空格错误,oracle运维故事 一个空格引发的血案
故事一:GoldenGate容灾建设项目实施不下去了! 同事在某运营商测试OGG过程中遇到操作系统文件无法访问的问题,对应的文件系统是数据库的redo,数据库所有文件均放在文件系统上: oracle@ ...
- 非递归二叉树先序遍历,一个深拷贝引发的bug
- python输出结果空格分割_用Python编写固定宽度,以空格分隔的CSV输出
我想使用Python的csv编写器编写一个固定宽度,空格分隔和最小引用的CSV文件. 输出示例: item1 item2 "next item1" "next item2 ...
最新文章
- python输出浮点数_Python的数据类型转换,那个很多人知道的知识,你知道吗?
- GPU — 体系结构
- esnext:最后一个参数后面也允许加逗号了
- Spark中Task,Partition,RDD、节点数、Executor数、core数目(线程池)、mem数
- 白话经典算法系列之六 高速排序 高速搞定
- 找不到 javax.servlet.http.HttpServletResponse 和 javax.servlet.http.HttpServletRequest 问题解决...
- pycharm 类型注释_学习Python第一步,变量与数据类型
- aurora 初学页面元素
- mysql创建表格1warning_MySQL 复制表
- android 3d侧拉抽屉,iOS动画指南 - 4.右拉的3D抽屉效果
- map文件分析 stm32_浅谈STM32的启动过程
- 穷爸爸与富爸爸,背后思维的差异
- 驱动该如何入门 关于file_operations和Linux设备模型
- emwin emf格式视频生成环境搭建
- 浅谈Hibernate的flush机制
- mysql注入扫描网站漏洞工具_SQL注入漏洞扫描工具
- 线性代数在计算机中的应用论文,论线性代数在现实生活中的应用(结课论文)
- Virtual Network----网卡offload特性和网络加速技术简述
- 《惢客创业日记》2021.01.21(周四)什么是产品逻辑?
- 网线信道测试软件,测试网线是否正常的方法有哪些