主题:如何将csv的文字及数字资料转换成另一种格式
若是原始的CSV资料格式如下:
A B C D E F G H
1 日期 代码 名称 成交比数 开 高 低 收
2 -----------------------------------------------------------------
3 991022 2315 神达 11,020,993 13.75 14.2 13.6 13.9
4 991022 2317 鸿海 16,111,879 114.5 114.5 113 114
我要如何转换成代码+名称+日期+开+高+低+收+成交股数,而其中代码及名称维持原
始的资料型式,而日期、股价及成交股数则需转换成16进位的格式。
因此一档股票的资料会有40位元组,组成方式为【A】+【B】+【C】
【A】:05+代码(若代码长度不足, 代码之后补20到满),共6个位元组
如:05 32(2) 33(3) 31(1) 35(5) 20
【B】:08+名称(若简称长度不足, 简称之后补20到满),共9个位元组
如:08 AFAB(神) B946(达) 20 20 20 20
【C】:00+6个32 bit unsigned long(日期+开+高+低+收+成交股数),共25个位元组
其中开、高、低、收之数字*100 成交股数/1000
如:00 2E1F0F00(991022) 5F050000(1375) 8C050000(1420)
50050000(1360) 6E500000(1390) 0D2B0000(11021)
所以上面两档股票的资料转换之后,以HEX模式看为:
05 32 33 31 35 20 08 AF AB B9 46 20 20 20 20 00
2E 1F 0F 00 5F 05 00 00 8C 05 00 00 50 05 00 00
6E 05 00 00 0D 2B 00 00 05 32 33 31 37 20 08 C2
45 AE FC 20 20 20 20 00 2E 1F 0F 00 BA 2C 00 00
BA 2C 00 00 24 2C 00 00 88 2C 00 00 F0 3E 00 00
若是想做出这样子的转档程式,该如何撰写?
A B C D E F G H
1 日期 代码 名称 成交比数 开 高 低 收
2 -----------------------------------------------------------------
3 991022 2315 神达 11,020,993 13.75 14.2 13.6 13.9
4 991022 2317 鸿海 16,111,879 114.5 114.5 113 114
我要如何转换成代码+名称+日期+开+高+低+收+成交股数,而其中代码及名称维持原
始的资料型式,而日期、股价及成交股数则需转换成16进位的格式。
因此一档股票的资料会有40位元组,组成方式为【A】+【B】+【C】
【A】:05+代码(若代码长度不足, 代码之后补20到满),共6个位元组
如:05 32(2) 33(3) 31(1) 35(5) 20
【B】:08+名称(若简称长度不足, 简称之后补20到满),共9个位元组
如:08 AFAB(神) B946(达) 20 20 20 20
【C】:00+6个32 bit unsigned long(日期+开+高+低+收+成交股数),共25个位元组
其中开、高、低、收之数字*100 成交股数/1000
如:00 2E1F0F00(991022) 5F050000(1375) 8C050000(1420)
50050000(1360) 6E500000(1390) 0D2B0000(11021)
所以上面两档股票的资料转换之后,以HEX模式看为:
05 32 33 31 35 20 08 AF AB B9 46 20 20 20 20 00
2E 1F 0F 00 5F 05 00 00 8C 05 00 00 50 05 00 00
6E 05 00 00 0D 2B 00 00 05 32 33 31 37 20 08 C2
45 AE FC 20 20 20 20 00 2E 1F 0F 00 BA 2C 00 00
BA 2C 00 00 24 2C 00 00 88 2C 00 00 F0 3E 00 00
若是想做出这样子的转档程式,该如何撰写?