一个空格引发的Bug! ----CSV输出和CSV读入
来源:互联网 发布:mac修改u盘权限 编辑:程序博客网 时间:2024/09/21 09:06
问题引出:
(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
- PHP输出CSV和EXCEL两种简单的方法
- PHP输出CSV和EXCEL两种简单的方法
- C++ 读入csv 文件程序
- R:读入csv格式数据
- PHP7.0.1下的csv解析bug
- python3.x 读取csv遇到的bug
- 一个BUG引发的...
- C++中空格的读入与输出
- CSV
- CSV
- csv
- csv
- csv
- CSV
- []csv
- csv
- 在连接Mysql的时候,报下面的错误及解决方法
- Bundle 和 Eval 碰到的问题
- ios 中代理原理使用方法精讲
- 概率图模型(PGM)里的有向分离(D-separation)
- C学习小结【常用函数】
- 一个空格引发的Bug! ----CSV输出和CSV读入
- 【线段树】 POJ 2155 Matrix 二维线段树/二维树状数组
- Android_获取手机位置
- 【安卓篇】bound service 详解一:基础
- Java中的List转换成JSON报错(五)
- Spring,hibernate,struts的面试笔试题(含答案)
- 移动开发之浅析cocos2d-x的中文支持问题
- 黑马程序员—学习java基础5日志
- ASP.NET Repeater绑定数据并实现分页