Example #1
0
def get_dayline_by_fid(str_fid = 'sh000001', restrictSize = 0):

	str_fid = str_fid.replace('.day','')

	str_tdx_dayline_format = "iiiiifii"
	size_of_tdx_dayline = 32	#32 bytes per struct
	
	if str_fid[0:2] == 'sh':
		spath = tdxpath + sh_path
	else:
		spath = tdxpath + sz_path
	
	filename = spath + str_fid + ".day"
	f = open(filename, 'rb')

	if restrictSize != 0:
		fsize = os.path.getsize(filename)
		sr = fsize - 32 * restrictSize
		if sr < 0: sr = 0
		f.seek(sr)

	#for i in range(0,9999):
	dayline = []
	while 1:
		rd = f.read(32)
		if not rd: break
		#print i, len(rd)
		st = struct.unpack(str_tdx_dayline_format, rd)
		#print st
		
		q = libqda_struct.fdaydata()
		q.pars(	parse_time(st[0]),
				int(st[1]) / 100.,
				int(st[2]) / 100.,
				int(st[3]) / 100.,
				int(st[4]) / 100.,
				float(st[5]),
				int(st[6]),
				int(st[7])	)
		
		dayline.append(q)

	return dayline
		
	f.close()
Example #2
0
def get_dayline_by_fid_america(str_fid = '74#AA-b', seekPoint = 0, readLength = 0):

	str_fid = str_fid.replace('.day','')

	str_tdx_dayline_format_america = "iffffiii"
	size_of_tdx_dayline = 32

	spath = tdxpath + america_path
	
	f = open(spath + str_fid + ".day", 'rb')
	
	#for i in range(0,9999):
	dayline = []
	
	#skip is ok
	f.seek(seekPoint)
	
	rlength = 0
	
	while 1:
		rd = f.read(32)
		
		if not rd: break
		#print i, len(rd)
		st = struct.unpack(str_tdx_dayline_format_america, rd)
		#print st
		
		q = libqda_struct.fdaydata()
		q.pars(	parse_time(st[0]),
				st[1],st[2],st[3],st[4],
				int(st[5]),
				int(st[6]),
				int(st[7])	)
				
		dayline.append(q)
		
		rlength+=1;
		if rlength == readLength: break

	return dayline
		
	f.close()
Example #3
0
def read_3():
	fr = fp.read(size_of_fday);
	ftime, op, hig, low, cl, vol, amount, dealcount = struct.unpack(sfday, fr);
	mdata = libqda_struct.fdaydata();
	mdata.pars(ftime, op, hig, low, cl, vol, amount, dealcount);
	return mdata;